私の/etc/group
ファイルには、ファイル共有に必要なさまざまなグループがあり、そのグループのメンバーがリストされています。これらのリストのいくつかは非常に長く、ソートする方法を探したいと思います。会員各グループの。簡単な方法がありますか?
私はDebian 9でBashを使用しています。
これまでグループを選択し、メンバーをアルファベット順に並べ替える方法を理解しました。
grep groupa /etc/group | cut -d":" -f4 | tr "," "\n" | sort
これには既知のグループの名前が必要です。
ベストアンサー1
グループファイルの各行を読みます。メンバーをコンマで区切って並べ替え、もう一度合わせます。他の変更されていないコンポーネントと一緒にこの行を印刷します。
while IFS=: read u x g members
do
members=$(tr ',' '\n' <<<"$members" | sort | xargs | tr ' ' ',')
printf "%s:%s:%d:%s\n" "$u" "$x" $g "$members"
done </etc/group