我试图让3个单独的单行命令一个接一个地运行,但是如果它们都在同一个shell.sh文件中,则无法使它工作。
awk 'Command #1 1' input.txt > output.txt
awk 'Command #2 1' input.txt > output.txt
awk 'Command #3 1' input.txt > output.txt
上面是我将在shell.sh中提供的一个示例,我只能使用3个单独的文件来实现这一点,当我需要这些文件在单个文件中工作时。
在我的示例中,我希望单个输入文件对其运行3个命令以生成单个输出文件。
我不确定我是否能够使用>>
,|
或&&
进行合并,但所有尝试都会导致效果不佳。
答案 0 :(得分:2)
您需要使用输出重定向运算符>>
awk 'Script #1 1' input.txt > output.txt
awk 'Script #2 1' input.txt >> output.txt
awk 'Script #3 1' input.txt >> output.txt
答案 1 :(得分:1)
您的尝试是覆盖每个上一个命令的输出文件,因此它看起来好像只有最后一个命令成功。
如果您想连续运行三个Awk脚本,那么您正在寻找一个管道。
awk 'Command #1 1' input.txt |
awk 'Command #2 1' |
awk 'Command #3 1' > output.txt
但是,当然,您可能希望将它们组合成一个脚本。
awk 'Command #1
Command #2
Command #3 1' input.txt> output.txt
不幸的是,您的问题过于笼统,无法提供有关这是否可行且有用的具体建议。