我有一个名为load_data.sh
的shell脚本,它在名为shell.sh
shell.sh
xargs --max-procs 10 -n 1 sh load_data.sh < tables.txt
此shell脚本在tables.txt
现在我想收集load_data.sh
所以我做的
xargs --max-procs 10 -n 1 sh load_data.sh < tables.txt |& tee-a logs.txt
但我得到了所有日志的混合。我想要的是日志应该是1st
表日志然后2nd
表日志然后是3rd
表日志等等......
是否有可能实现这一目标。如果是这样我怎么能实现呢?
答案 0 :(得分:1)
您可以通过为每次运行脚本创建单独的日志文件来解决您的问题。要按顺序创建日志文件,可以使用'nl'实用程序对每行输入进行编号。
nl -n rz tables.txt | xargs -n 2 --max-procs 10 sh -c './load_data.sh "$1" > log-$0'
将按顺序生成日志文件
log-001
log-002
log-003
..
要将其重新转换为一个文件,您只需使用'cat'
即可cat log* > result