回答:
出力をファイルに送る場合の>>
代わりに使用>
します。
your_command >> file_to_append_to
file_to_append_to
存在しない場合は作成されます。
例:
$ echo "hello" > file
$ echo "world" >> file
$ cat file
hello
world
append
ファイルの使用 >>
echo "hello world" >> read.txt
cat read.txt
echo "hello siva" >> read.txt
cat read.txt
その後、出力は
hello world # from 1st echo command
hello world # from 2nd echo command
hello siva
overwrite
ファイルの使用 >
echo "hello tom" > read.txt
cat read.txt
その後、出力は
hello tom
command >> file_to_append_to
ファイルに追加するために使用します。
例えば echo "Hello" >> testFile.txt
注意:シングルのみを使用する>
と、ファイルの内容が上書きされます。これが起こらないようにするために、にを追加できset -o noclobber
ます.bashrc
。
これにより、誤って入力した場合に command > file_to_append_to
て既存のファイルをした場合に、そのファイルが既に存在することを警告します。エラーメッセージの例:file exists: testFile.txt
したがって、>
それを使用すると、既存のファイルを上書きするのではなく、新しいファイルを作成することだけができます。
オプション-a(-- append )でteeを使用すると、一度に複数のファイルに追加したり、sudoを使用したりできます(保護されたファイルに追加するときに非常に役立ちます)。さらに、すべてのシェルが>および>>演算子をサポートしているわけではないため、bash以外の他のシェルを使用する必要がある場合は興味深いです。
echo "hello world" | sudo tee -a output.txt
このスレッドはティーについて良い答えがあります
たとえば、ファイルには次のものが含まれます。
1. mangesh@001:~$ cat output.txt
1
2
EOF
ファイルの最後に追加したい場合----> 'text' >> 'filename'の間にスペースを入れてください
2. mangesh@001:~$ echo somthing to append >> output.txt|cat output.txt
1
2
EOF
somthing to append
そして、ファイルの内容を上書きするには:
3. mangesh@001:~$ echo 'somthing new to write' > output.tx|cat output.tx
somthing new to write
cat
は...完全に奇抜です。(標準出力をファイルにリダイレクトしただけなので空です。)
echo
、文字列から改行が削除されることです。改行を含む文字列をファイルにどのように追加しますか?