සංස්කාරකයක් විවෘත නොකර පෙළ ගොනුවකට පේළියක් එක් කිරීමට අණ කරන්න


164

සංස්කාරකයක් විවෘත නොකර ගොනුවකට එක් කිරීමට අවශ්‍ය රේඛාවක් මා සතුව ඇතැයි උපකල්පනය කරන්න.

මම මෙම රේඛාව එකතු කරන්නේ කෙසේද?

alias list='ls -cl --group-directories-first'

මෙම ගොනුවට

config.fish

Answers:


265

ඔබ ඇතුලත් කළ හැකි මාර්ගය භාවිතා කරමින් ගොනුව ඇති පෙළ >>ක්රියාකරු:

echo "hello world" >> my_file.txt

හෝ ඔබේ නඩුවේ

echo "alias list='ls -cl --group-directories-first'" >> config.fish

කරුණාකර විවිධ වර්ගයේ උපුටා දැක්වීම් සැලකිල්ලට ගන්න .


29
මම ප්‍රතිරාවය භාවිතා කරමි, නමුත් ප්‍රවේශම් වන්න, ඔබ එකක් පමණක් සඳහන් කළහොත් >ගොනුව කප්පාදු කරනු ඇත, එකතු නොවේ. : ආරක්ෂිත විධානය සඳහා ඔබ sed භාවිතා කළ හැකියsed -i '$a hello world' filename
talk තෝරාගැනුම ප්රතිලෝම කරන්න

14
පැහැදිලි කිරීම: -iගොනුව යාවත්කාලීන කරනු ඇත (එසේ නොවුවහොත් එය ප්‍රති st ලය stdout වෙත මුද්‍රණය කරනු ඇත), රීජෙක්ස් $යනු ගොනුවේ අවසානයට ගැලපෙන aඅතර පහත සඳහන් පෙළ ගොනු නාමයට එකතු කරයි.
talk තෝරාගැනුම ප්රතිලෝම කරන්න

1
echo "hello world" >> my_file.txtසමඟ නව අන්තිම පේළියක් සාදන්නේ නැත HW, නමුත් එය අවසාන පේළියේ නූලට එක් කරන්න.
ටිමෝ

HWඑටිමෝ යනු කුමක්ද?
7wp

සමහර විට "හෙලෝ වර්ල්ඩ්" w 7wp :) එය echoරේඛීය විවේකයක් එක් කරයි ( එය අක්ෂර පොකුරකට වඩා රේඛාවක් බවට පත් කරයි). ඔබට අවසානයේදී රේඛීය විවේකය අක්‍රිය කළ හැකිය -n.
ස්ටෙෆානෝ පලසෝ

4

පෙළ සංස්කාරකවරුන් විවෘත නොකර ගොනුවට එකතු කිරීමේ ක්‍රම ඕනෑ තරම් තිබේ, විශේෂයෙන් උබුන්ටු හි ඇති බහු පෙළ සැකසුම් උපයෝගිතා හරහා. පොදුවේ ගත් කල, ධජය එක් කළ විට open()සිස්කාල් කිරීමට අපට ඉඩ දෙන ඕනෑම දෙයක් O_APPENDගොනුවකට එකතු කිරීමට භාවිතා කළ හැකිය.

  • ddඋපයෝගීතාවයේ GNU අනුවාදය සමඟ ගොනු ගොනු කිරීමට දත්ත එකතු කළ හැකියconv=notrunc oflag=append

    printf "\nalias list='ls -cl --group-directories-first'\n" | dd conv=notrunc oflag=append bs=1 of=config.fish

    නල මාර්ගයේ දකුණු පැත්තේ අපට මෙවැනි දෙයක් භාවිතා කළ හැකිය.

    dd conv=notrunc seek=$(wc -c < testFile.txt) bs=1 of=testFile.txt

    භාවිතය සටහන bs=1සඳහා වන, කෙටි වැළැක්වීම නල සිට කියවන

  • මෙම teeඔබ ගොනු සමඟ එකතු සහ නල stdout හෝ ඊළඟ විධානය එය යැවීමට අවශ්ය වන විට විධාන භාවිතා කළ හැක

    tee -a config.fish <<< "alias list='ls -cl --group-directories-first'"
  • awkPOSIX පිරිවිතරයන් මගින්>> අතේ ගෙන යා හැකි සහ අර්ථ දක්වා ඇති උපග්‍රන්ථ ක්‍රියාකරු ඇත

    awk 'BEGIN{ printf "alias list=\x27ls -cl --group-directories-first\x27\n" >> "config.fish"  }'
  • එකතු කිරීම සහ ස්ථානීය සංස්කරණය සඳහා අවසාන පේළියට ගැලපෙන පරිදි අපට sedධජය ඒකාබද්ධ කළ හැකිය .$a-i

    sed -i '$a alias list='"'"'ls -cl --group-directories-first'"'" config.fish
  • අපට ddපයිතන් 3 වැනි දෙයක් ක්‍රියාත්මක කළ හැකිය :

    #!/usr/bin/env python3
    # read bytes from stdin, append to specified file
    import sys

    with open(sys.argv[1],'ab') as f:
         f.write(sys.stdin.buffer.read())

මෙයද බලන්න:


3

ස්ටෙෆානෝගේ පිළිතුරට එකතු කිරීමෙන් ඔබටද මෙය භාවිතා කළ හැකිය cat:

  • පාරම්පරික භාවිතා කිරීම:

    $ cat >> config.fish <<'EOF'
    > alias list='ls -cl --group-directories-first'
    > EOF

    <<'EOF'එහි තේරුම "ඔබ සාධාරණ රේඛාවකට ළඟා වන තුරු පහත සඳහන් දෑ ආදානය ලෙස ගන්න EOF" යන්නයි. උපුටා දැක්වීම් යන්නෙන් අදහස් කරන්නේ ආදානය වචනාර්ථයෙන් ගැනීමයි.

  • නැතහොත් stdin මත රේඛාව ඇතුළත් කිරීම:

    $ cat >> config.fish

    ඉන්පසු පේළියේ අලවන්න හෝ ටයිප් කරන්න, Enterනව පේළියකට යාමට ඔබන්න, ඉන්පසු අවසානය සලකුණු කිරීමට Ctrl + D ඔබන්න.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.