「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