文件与文件之间追加内容

1.最简单的方式:使用 echo 命令

echo abcbedf>>a.txt

将abcdef追加到a.txt文件末尾

往文件中写入内容,比如原来的a.txt文件内容是aaaaa,

#echo bbbbb>a.txt,这个是bbbbb把a.txt原来的内容替换

2.sed命令,使用 

1) sed '/$/a\\n' test.txt,可以在文件的每行末尾添加一个回车
2) sed '$a\eof' test.txt,可以在文件的末尾添加'eof'

配合find命令实现批量添加
 find /home/name -type f -name rate.xml -exec sed '$a\\n' {} \;

=============网上搜到的其它方法

一直想用sed命令完成向文件尾内添加内容,没有发现好的方式

忽然想到cat命令

利用cat source_file >>dest_file命令可以将source_file内的内容添加到dest_file末尾。

于是可以结合find命令来实现。

但是实践中find的exec命令好像对重定向符号不感冒,于是想到了用脚本文件的方式:

新建一个append.sh,内容如下:

cat source_file >>$1

于是可以用find -name "test.txt" -exec ./append.sh {} \; -print

很方便的将内容添加到test.txt文件末尾。如果想备份文件,可以在append.sh中添加备份命令

如cp $1 $1.bak


你可能感兴趣的:(Ubuntu,Linux命令例解)