私はLinuxシステムにログインし、すべての現在のユーザーを取得しようとしました。端末でコマンドを使用しましたが、users
結果は「user1 user2 user3 user4」です。
ユーザー名の行を分割して各ユーザー名を1行に整理する方法はありますか?
答え1
users | tr -s ' ' '\n'
これはユーティリティの出力を取得し、users
すべてのスペースをnewlinesに置き換え、tr
結果から複数の連続した改行文字を削除します(を使用して-s
)。
パイプを介してsort -u
一意のユーザー名を取得します。
答え2
より良い方法があるかもしれませんが、次のようになります。
for user in $(users); do echo "$user"; done
または、fmt
次のコマンドを使用します。
users | fmt -w 1
答え3
パイプを使用しない最も簡単な解決策:
printf '%s\n' $(users)
答え4
~からhttps://stackoverflow.com/a/37843747/52074このソリューションには6つの表があります。
users | xargs -n 1