如何将文件和字符串连接到UNIX中的新文件作为一行命令

时间:2012-07-09 19:15:52

标签: unix autosys

我需要一个非常简单(希望)的1个衬管命令,读取文件后附加一个字符串并输出到一个新文件,而不更改原始数据。

file1               string
------              ------
apple               oranges
bananas

魔法指令

filel               file2
------              ------
apple               apple
bananas             bananas
                    oranges

基本上,cat file1 +'oranges'> file2的

我正在使用 autosys 来运行命令,我很确定它不允许&&;作为单个命令的一部分。

3 个答案:

答案 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