例如,如果我执行
ps aux | awk '{print $1}' | xargs -I {} echo {}
字符串我想让shell在每个echo之间睡眠1秒。如何更改shell命令?
echo
b5buobof1#
可以使用以下语法:
ps aux | awk '{print $1}' | xargs -I % sh -c '{ echo %; sleep 1; }'
字符串但是要小心空格和空格。在括号之间的每个命令之后,都需要空格(即使在最后一个命令之后)。
axkjgtzd2#
将echo替换为名为sleepecho的shell脚本,
sleepecho
#!/bin/sh sleep 1 echo $*
字符串
wi3ka0sx3#
如果您的awk支持:
awk
ps aux | awk '{ system("sleep 1"); print $1 }' | xargs -I {} echo {}q
字符串或跳过awk和xargs
xargs
ps aux | while read -r user rest; do echo ${user} sleep 1 done
型
3条答案
按热度按时间b5buobof1#
可以使用以下语法:
字符串
但是要小心空格和空格。在括号之间的每个命令之后,都需要空格(即使在最后一个命令之后)。
axkjgtzd2#
将
echo
替换为名为sleepecho
的shell脚本,字符串
wi3ka0sx3#
如果您的
awk
支持:字符串
或跳过
awk
和xargs
型