似たような投稿にたくさん触れましたが、私が欲しいものを見つけようとしていますが、これは確かにrtfmの例です。私はawkやgrepが何らかの方法で役に立つと思います。正しい方向を指すのに役立ちます。
今後、他のユーザーがその機能を実行できるようにするプロンプトを含むスクリプトを作成する予定ですが、まず自分自身のために作業する基本的なアイデアを得たいと思います。
who -u
現在ログインしているユーザーを表示し、アイドル時間に基づいてユーザーID、アイドル時間、およびPIDを表示する必要があります。
例えば、
01sale1 pts/11 2016-10-05 06:39 00:04 14132 (192.168...)
01sale2 pts/16 2016-10-05 06:40 00:07 17902 (192.168...)
01sale3 pts/14 2016-10-05 06:40 . 17779 (192.168...)
01sale5 pts/25 2016-10-05 06:41 00:04 18339 (192.168...)
誰もがオンラインにアクセスすると、リストが非常に長くなり、特定のソフトウェアのライセンス制限に達するのに問題が発生します。この問題を解決するには、ユーザーを1時間ほどアイドル状態にしておく必要があります。
私が望むのは、who -uを実行して、列6が1時間より古いかどうかに応じて列1、5、6のみを表示して01:**以上が表示されるようにすることです。
最終的には、rootを持たないユーザーが実行できるスクリプトを作成したいと思います。このスクリプトはそれらにこの情報を表示し、アイドルユーザーを終了します。完全自動化したいかどうかはわかりません。
以前のRed Hatでこのアプリケーションを実行しています。
ベストアンサー1
次のように試すことができます。
who -u | \
awk '$5 ~ /^[0-9][1-9]:.*$|^[1-9][0-9]:.*$/ {printf "%s %s %s\n", $1,$5,$6}'
awk
で始まるパターンと一致します0[1-9] || [1-9][0-9]
。
一致するパターンを試してみてください。起動しない00
あなたがする意思がある場合。