Linuxでファイルの終わりに行を追加する方法


120

次の2行を追加したい...

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1600x1200"

ディレクトリにあるvncserversファイルの最後に.... / etc / sysconfig /

これどうやってするの?

ありがとう


2
viまたはを使用できますemacs。それらの使い方を知っていますか?私は皮肉なことをしようとしているのではありません。

回答:


232

エコーの出力を>>でリダイレクトする最も簡単な方法

echo 'VNCSERVERS="1:root"' >> /etc/sysconfig/configfile
echo 'VNCSERVERARGS[1]="-geometry 1600x1200"' >> /etc/sysconfig/configfile

3
好奇心から、新しい行を作成せずにファイルにテキストをどのように追加しますか?
Martin Hansen、

11
現在のコマンドではなく、最後に追加された行によって異なります。$ echo "foobar" >>ファイルを実行すると、改行はすでにそこにあります。$ echo -n "foobar" >>ファイルを実行すると、改行は行の末尾に追加されないため、同じ行に記述します。
user897079 2015年

9
これは、sudo環境でシステムファイルに書き込む場合は機能しません。sudo >>することはできません。それ以外の場合は、正常に動作します。
デニス

4
次のように「sed」コマンドを使用できます:---------- sed -i "$ a some text" somefile.txt --------- -i:ファイルを編集して、$ファイルの終わりを見つけるa:追加
Lunf

9
@Dennisこれは、コマンドラインの解析方法が原因です。「sudo abc >> def」は「sudo abc」、次に「>> def」を出力します。「abc >> def」ビット全体をsudoするには、次のようにする必要があります。sudo sh -c "echo 'VNCSERVERS = \" 1:root \ "' >> / etc / sysconfig / configfile"(メモ内側の二重引用符はエスケープする必要があります)
Urhixidur
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.