如何从输入文件执行多个命令并将其字符串到新的输出文件

如何从输入文件执行多个命令并将其字符串到新的输出文件

我想从 input.txt 文件执行多个命令(一个接一个)并将其输出到一个新的 .csv 文件。单独执行时,所有命令都成功运行,但是当我与 { && 或 ; 一起运行它们时,没有任何反应。 }

我的命令是:

cat input_file.txt > output_file.csv
   awk 'NR % 13 == 0' 
   sed -i '1i id,surface area (mm^2),gray matter volume (mm^3),avg
   cortical thickness +-sd,mean curvature,gaussian curvature,folding
   index,curvature index,hemi,ROI' 
   awk -F"/" '$1=$1' OFS="\t" 
   sed -e 's/\s\+/,/g' 
   awk '{ print $10 " " $0}'   >> output_file.csv

有人知道我如何运行所有这些命令以及在上一个命令之后执行的每个命令吗?
非常感谢!

答案1

你想要_____吗从一个的输出到下一个的输入?如果是,那么您应该用管道“链接”您的命令。这使得第一个程序的输出成为下一个程序的输入:

date -u

2019 年 10 月 15 日 17:58:20 世界标准时间

date -u | sed 's/ /./'

3月15日17:58:20.UTC.2019

所以,你可以运行一个接一个地通过使用管道字符 | 将它们链接起来

或者,如果您想独立地获取所有这些的输出,您可以使用子 shell。在 bash 中,你会做这样的事情:

(command1.sh;command2.sh;command3.sh) >> output.txt

请注意,您可以使用“;”、“&&”、换行符或任何用于运行单独命令的内容。

相关内容