GNU/Linux >> Linux の 問題 >  >> Linux

ファイルにテキストを追加するにはどうすればよいですか?

cat >> filename
This is text, perhaps pasted in from some other source.
Or else entered at the keyboard, doesn't matter. 
^D

基本的に、必要なテキストをファイルにダンプできます。 CTRL-D はファイル終了シグナルを送信します。これにより、入力が終了し、シェルに戻ります。


他の可能な方法は次のとおりです:

echo "text" | tee -a filename >/dev/null

-a ファイルの末尾に追加されます。

sudo が必要な場合 、使用:

echo "text" | sudo tee -a filename >/dev/null

どうですか:

echo "hello" >> <filename>

>> の使用 演算子は > を使用しながら、ファイルの最後にデータを追加します 既に存在する場合、ファイルの内容を上書きします。

printf を使用することもできます 同様に:

printf "hello" >> <filename>

上記を使用すると危険な場合があることに注意してください。たとえば、すでにファイルがあり、ファイルの最後にデータを追加する必要があり、最後の > を追加するのを忘れた場合 ファイル内のすべてのデータが破棄されます。 noclobber を設定することで、この動作を変更できます。 .bashrc の変数 :

set -o noclobber

echo "hello" > file.txt を実行しようとすると cannot overwrite existing file という警告が表示されます .

ファイルへの書き込みを強制するには、特別な構文を使用する必要があります:

echo "hello" >| <filename>

また、デフォルトで echo であることも知っておく必要があります -n を使用して抑制することができる末尾の改行文字を追加します フラグ:

echo -n "hello" >> <filename>

参考文献

  • echo(1) - Linux man page
  • noclobber variable
  • I/O Redirection

Linux
  1. ファイル拡張子をクリーンアップする方法は?

  2. テキストファイルの行を1行上または下に移動するにはどうすればよいですか?

  3. テキスト ファイルから改行を削除するにはどうすればよいですか?

  1. 出力をファイルに追加する方法は?

  2. sudoとしてファイルに追加する方法は?

  3. bash の改行でテキストをエコーする

  1. Linuxでファイルの終わりにテキストを追加する方法

  2. Linuxでファイルの終わりにテキストを簡単に追加する方法

  3. ファイルの内容を再帰的に表示するには?