Linuxでは方法がありますか?ls
ユーザー別の出力ソート?私が達成しようとしているものは次のとおりです。
ユーザー_ㅏ ファイル1
ユーザー_ㅏ ファイル2
ユーザー_第二
another_fileuser_ 氏
this_file_user_ 氏 that_ファイル
ユーザー_D ファイル3
私はそのようなリストにファイルサイズ、権限などが含まれていることを知っています。 - 私の主な関心事は、ユーザーごとに並べ替えることです。それでは便利ではないでしょうか?
これまで、[使用されている場合]ファイルの所有者を含む[したがってグループ別にソート]、ls -l | sort -k 3
3番目の列に基づいてソートすることがわかりました。ls -l
sort -k 4
しかし、ファイル所有者が3行目にない場合はどうなりますか?別の方法がありますか?列数に関係なくこれを達成します。?
修正する:言うのを忘れました。私はBASHで働いています。そして、状況がより複雑にならないように、これからしばらくこれに固執するように努めてください。
ベストアンサー1
どの列がどちらであるかを知らずに、単一の出力で所有者名がどの列にあるかを確認するls -l
ことはできません。各列の項目をファイルと一致させることができますが、passwd
グループ列またはファイル名列が一致しないという保証はありません。両方で見つかった名前のみを含めることができます/etc/passwd
。
を使用するには、ls
プログラムを2回実行するだけです。一度はasで、ls -l
一度はasで実行できますls -g
。後者は所有者を削除するので、他の情報に基づいて行を一致させると、所有者名を指定せずに所有者名を解決できます。しかし、これはbashシェルスクリプトで実行できる練習ではありません。