查看运行脚本运行的作业(Unix)

时间:2018-04-17 13:51:29

标签: unix sed sh jobs

我无法在任何地方找到这个问题,尽管它是如此简单。有没有办法看到来自阅读脚本的作业?

有关:

command 1 &
command 2 

作业告诉我哪些任务正在运行以及哪些任务已完成。当我使用sed在fly上创建命令并使用sh来运行它时,这不起作用。

示例:

sed 's/\(.*\)\t\(.*\)/ echo "\1" >> Families6\/\2 \& /g ' myfile.txt | sh

jobs

1 个答案:

答案 0 :(得分:1)

不要像这样使用sed。只需使用类似

的内容启动当前shell中的子项
while IFS=$'\t' read -r str outfile; do
    echo "$str" >> Families6/"$outfile" &
done < myfile.txt

然后jobs会显示有效的工作。但请注意,您在示例中显示的“作业”是如此微不足道,以至于分叉运行它们的子shell可能需要更长的时间而不是实际运行命令。只需在前台不连续&连续运行它们,或使用awk

awk -F $'\t' '{print $1 >> Families6/$2}' myfile.txt