我正在尝试获取“screen -list”中所有进程的名称
不幸的是,我已经在循环中失败了,因为
for PLINE in `screen -list | grep 'tached)'`; do
echo "$PLINE"
done
输出
3698.processname
(16/08/12
12:59:37)
(Detached)
但我的预期输出是
3698.processname (16/08/12 12:59:37) (Detached)
就像直接输入screen -list | grep 'tached)'
控制台时一样。
如果这个循环可以工作,我试图做的是使用cut -d '.' -f 2
然后在找到第一个空格之后切断结果字符串。(我还不太清楚该怎么做,我所知道的只是一些东西%' '
)
所以,我认为很明显我在 bash 脚本中没有太多线索,因此我愿意接受更优雅的建议来做我想做的事情。
(编辑)解决方案:
for PLINE in `screen -list | grep 'tached)' | awk -F '[ \t\n\v\r.]' '{print $3}'`; do
echo $PLINE
done