我无法在任何地方找到这个问题,尽管它是如此简单。有没有办法看到来自阅读脚本的作业?
有关:
command 1 &
command 2
作业告诉我哪些任务正在运行以及哪些任务已完成。当我使用sed在fly上创建命令并使用sh来运行它时,这不起作用。
示例:
sed 's/\(.*\)\t\(.*\)/ echo "\1" >> Families6\/\2 \& /g ' myfile.txt | sh
jobs
答案 0 :(得分:1)
不要像这样使用sed
。只需使用类似
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