2016-02-22 53 views
0

我想实现这样的事情与bash脚本:如何连接两个文件并在它们之间写入?

c.txt:

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

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

这是最接近我能得到:

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

回答

8

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

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

辉煌,谢谢! – godzsa

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 
+0

这是一个很好的解决方案!谢谢:) – godzsa

+0

你也可以将它们合并为一个:'{cat a.txt;回声“###”;猫b.txt; }> out.txt'。这样效率更高(虽然不是那么显着),因为它只需要打开一次'out.txt',而不是每个命令打开一次。 – chepner

相关问题