Answers:
在将输出定向到文件时使用>>
代替>
:
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
将tee与选项-a(--append)一起使用可以使您一次附加到多个文件,也可以使用sudo(在附加到受保护文件时非常有用)。除此之外,如果您还需要使用除bash之外的其他外壳,这很有趣,因为并非所有外壳都支持>和>>运算符
echo "hello world" | sudo tee -a output.txt
这个线程对tee有很好的答案
例如,您的文件包含:
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
从字符串中删除换行符。如何将包含换行符的字符串追加到文件中?