如何在UNIX中将文件和字符串作为一行命令连接到新文件中
我需要一个非常简单(希望是)的1行程序命令,该命令在文件中读取附加字符串并输出到新文件,而不更改原始数据如何在UNIX中将文件和字符串作为一行命令连接到新文件中,unix,autosys,Unix,Autosys,我需要一个非常简单(希望是)的1行程序命令,该命令在文件中读取附加字符串并输出到新文件,而不更改原始数据 file1 string ------ ------ apple oranges bananas 魔法命令 filel file2 ------ ------ apple apple bananas ba
file1 string
------ ------
apple oranges
bananas
魔法命令
filel file2
------ ------
apple apple
bananas bananas
oranges
基本上,猫档1+橙子档2
我使用的是autosys来运行这个命令,我很确定它不允许&&
或代码>作为单个命令的一部分。您可以执行以下操作:
(cat file1 ; echo 'oranges') > file2
这将产生一个子shell,它将把file1 cat到stdout,然后将桔子回显到stdout。我们捕获所有输出并将其重定向到一个新文件file2
或以下两个命令:
cp file1 file2
echo 'oranges' >> file2
它首先将file1复制到新的file2,然后将单词oranges附加到file2
这是另一个不使用的一个班轮;也不是&&
echo oranges | cat file1 - > file2
那么这应该可以做到:
$cat file1 >> file2; echo "orange" >> file2;
如果您将标准溶液作为字符串传递给sh,则可以使用标准溶液(由nos给出):
sh -c 'cat file1; echo oranges' > file2
您提供的代码有什么问题吗?cat认为th+和“oranges”是文件,并表示无法打开它们。您不能将cat file1添加到file2中,然后附加字符串吗?您甚至可以在一行中执行这两个命令。这就是我想要做的,但我还没有弄清楚如何执行。我尝试了cat file1>echo$string>>file2的各种变体,但都没有效果。所以当你说“我不能吗?”我说,我肯定我可以,但我还没有弄清楚实际的命令。我想到了这个:cp file1 file2&&echo'oranges'>>file2,但我用autosys来运行这个命令,我几乎肯定它不会让我把命令串在一起&不,第一个文件应该保持不变。是的,我也想到了这个,但是因为我使用Autosys来运行命令,我认为我不能在命令中包含分号或&。@Christian:它们真的需要是一行吗?你不能把这两个命令放在一个shell脚本中并运行它吗?@Christian最好弄清楚你可以在autosys中运行哪种命令。或者使用这里的最后一种方法,它运行两个连续的命令。@tudor:我可以很好地创建一个shell脚本并执行它。但多亏了工作,它增加了更多的工作来将东西放到不同的环境中,所以一行程序最好。@nos:Can-do&&和Can-do;在命令中。管道和标准管道是允许的
sh -c 'cat file1; echo oranges' > file2