8

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

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

魔法指令

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

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

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

4

3 回答 3

31

你可以这样做:

(cat file1 ; echo 'oranges') > file2

这将产生一个子shell,它将文件1 到标准输出,然后将橙子回显到标准输出。我们捕获所有输出并将其重定向到一个新文件 file2。

或者这两个命令:

cp file1 file2 
echo 'oranges' >> file2

首先将 file1 复制到新的 file2,然后将单词 oranges 附加到 file2

这是另一个不使用的衬里;也不 &&

echo oranges | cat file1 - > file2
于 2012-07-09T19:33:00.733 回答
1

然后应该这样做:

$cat file1 >> file2; echo "orange" >> file2;
于 2012-07-09T19:34:05.200 回答
1
awk '1; END{ print "oranges"}' file1 > file2

如果您将其作为字符串传递给 sh,您可能可以使用标准解决方案(由 nos 给出):

sh -c 'cat file1; echo oranges' > file2
于 2012-07-10T10:51:14.423 回答