如何连接两个文件并在它们之间写入?

时间:2016-02-22 12:18:53

标签: bash shell unix terminal

我正在尝试使用bash脚本实现类似的功能:

c.txt:

contents of a.txt
###
contents of b.txt

基本上我想在两个文件的内容之间写一个常量字符串,并保存到新文件而不修改原件。

这是我能得到的最接近的:

echo "###" >> a.txt|cat b.txt >> out.txt

2 个答案:

答案 0 :(得分:8)

使用-作为文件名通常意味着使用标准输入。因此:

echo 'something' | cat a.txt - b.txt > new.txt

答案 1 :(得分:3)

您可以使用三个命令执行此操作:

cat a.txt > out.txt
echo "###" >> out.txt
cat b.txt >> out.txt

也许可以用它来创造一个功能:

append_hash() { cat $1 > $3; echo "###" >> $3; cat $2 >> $3; }

用法:

append_hash a.txt b.txt out.txt