/etc/passwd ファイルが与えられると、シェルで /sbin/nologin を持たないユーザーのログイン名だけを印刷できるコマンドは何ですか?
また、/ etcディレクトリで文字 's'で始まるファイル数を数えるためにどのコマンドを使用できますか?少し新しい内容ですね。ありがとうございます!
ベストアンサー1
ログインシェルなしでユーザーのみを印刷するには、最も単純な場合にのみawkを使用できます。
awk -F/ '$NF != "nologin"' /etc/passwd
-F/
ここでは区切り文字として使用して'$NF =! "nologin"' where
$NF is the last field of the line/row. The default action in
awk` が印刷されるため、行全体が印刷されます。
s
で始まるすべてのファイルを簡単に見つけるために使用しますfind
。この場合、GnuFind
find /etc/ -maxdepth 1 -type f -name 's*' -printf '%P\n'
ここでは、GNUを使用してパスをfind
検索し、1つのレベル(サブディレクトリなし)を確認します。/etc/
-type f
ファイルのみを確認するように find に指示します。
-name 's*
説明が必要ない
-printf '%P\n'
これは'%P'
printf形式です。もっと見るman find
。