我需要一个非常简单(希望)的1个衬管命令,读取文件后附加一个字符串并输出到一个新文件,而不更改原始数据。
file1 string
------ ------
apple oranges
bananas
魔法指令
filel file2
------ ------
apple apple
bananas bananas
oranges
基本上,cat file1 +'oranges'> file2的
我正在使用 autosys 来运行命令,我很确定它不允许&&
或;
作为单个命令的一部分。
答案 0 :(得分:21)
你可以这样做:
(cat file1 ; echo 'oranges') > file2
哪个会生成一个子shell,它会将file1转换为stdout,然后将oranges回显到stdout。我们捕获所有输出并将其重定向到新文件file2。
或者这两个命令:
cp file1 file2
echo 'oranges' >> file2
首先将file1复制到新文件2,然后将单词oranges附加到file2
这是另一个不使用的衬垫;也不是&&
echo oranges | cat file1 - > file2
答案 1 :(得分:1)
然后这应该这样做:
$cat file1 >> file2; echo "orange" >> file2;
答案 2 :(得分:1)
awk '1; END{ print "oranges"}' file1 > file2
如果你把它作为一个字符串传递给sh,你可以使用标准的解决方案(由nos给出):
sh -c 'cat file1; echo oranges' > file2