How to append output to the end of a text file
如何将命令的输出附加到文本文件的末尾?
将输出定向到文件时,使用
1 | your_command >> file_to_append_to |
如果
例子:
1 2 3 4 5 | $ echo"hello"> file $ echo"world">> file $ cat file hello world |
您可以使用>>运算符。这将把命令中的数据附加到文本文件的末尾。
要测试此,请尝试运行:
1 | echo"Hi this is a test">> textfile.txt |
这样做几次,然后运行:
1 | cat textfile.txt |
您将看到您的文本已被附加到text file.txt文件中多次。
对
1
2
3
4 echo"hello world" >> read.txt
cat read.txt
echo"hello siva">> read.txt
cat read.txtthen the output should be
1
2
3 hello world # from 1st echo command
hello world # from 2nd echo command
hello siva
对
1
2 echo"hello tom"> read.txt
cat read.txtthen the out put is
hello tom
使用
例如
注意:如果只使用单个
这样可以确保,如果您不小心在现有文件中键入
因此,当您使用
使用
对于整个问题:
1 | cmd >> o.txt && [[ $(wc -l <o.txt) -eq 720 ]] && mv o.txt $(date +%F).o.txt |
这将在o.txt中附加720行(30*24),之后将根据当前日期重命名文件。
每小时和cron一起运行上面的命令,或者
1 2 3 4 5 | while : do cmd >> o.txt && [[ $(wc -l <o.txt) -eq 720 ]] && mv o.txt $(date +%F).o.txt sleep 3600 done |
例如,您的文件包含:
1 2 3 4 | 1. mangesh@001:~$ cat output.txt 1 2 EOF |
如果要在文件结尾追加,则---->请记住"文本">>"文件名"之间的空格
1 2 3 4 5 | 2. mangesh@001:~$ echo somthing to append >> output.txt|cat output.txt 1 2 EOF somthing to append |
覆盖文件内容:
1 2 | 3. mangesh@001:~$ echo 'somthing new to write' > output.tx|cat output.tx somthing new to write |
我建议你做两件事: