Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在UNIX中将文件和字符串作为一行命令连接到新文件中_Unix_Autosys - Fatal编程技术网

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

如何在UNIX中将文件和字符串作为一行命令连接到新文件中,unix,autosys,Unix,Autosys,我需要一个非常简单(希望是)的1行程序命令,该命令在文件中读取附加字符串并输出到新文件,而不更改原始数据 file1 string ------ ------ apple oranges bananas 魔法命令 filel file2 ------ ------ apple apple bananas ba

我需要一个非常简单(希望是)的1行程序命令,该命令在文件中读取附加字符串并输出到新文件,而不更改原始数据

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