我正在尝试并行使用 perl 脚本。perl 脚本的输入和输出参数从目录中获取文件名。这对于 gnu 并行很简单。
ls dir | parallel script.pl --input {} --output {.}.out
但是,脚本中的一个附加参数要求我从每个文件中获取第一行和最后一行,第二列的值......类似于
ls dir | parallel script.pl --input {} --output {.}.out --otherargs range:{1}-{2}
其中 {1} 和 {2} 派生自先前/同时使用 awk 或 sed 来获取这些值,例如
awk 'NR==1 {print $2}; END {print $2}'
但是我在哪里放置(如何放置)这个 awk 之类的步骤在“工作流程”中以允许 perl 脚本使用它?
看着
更改 xargs(或 GNU Parallel)的参数中的文本
正确的方法就是这样做吗?
ls | parallel script.pl --input {} --output {.}.out --otherargs range:{1}-{2} :::: <(awk 'NR==1 {print $2}) <(awk 'END {print $2})
谢谢你。