例如,如果我执行
ps aux | awk '{print $1}' | xargs -I {} echo {}
我想让外壳在每个echo
.
如何更改我的 shell 命令?
您可以使用以下语法:
ps aux | awk '{print $1}' | xargs -I % sh -c '{ echo %; sleep 1; }'
不过要小心空格和分号。在括号之间的每个命令之后,都需要分号(即使在最后一个命令之后)。
用一些名为 contains的echo
shell 脚本替换sleepecho
#!/bin/sh
sleep 1
echo $*
如果你awk
支持它:
ps aux | awk '{ system("sleep 1"); print $1 }' | xargs -I {} echo {}q
awk
或xargs
完全跳过
ps aux | while read -r user rest;
echo $user
sleep 1;
done