Bagaimana saya bisa mengurutkan berdasarkan pemilik dan grup?


Jawaban:


8

Coba ini:

ls -l | awk '{print $3, $4, $8}' | sort

Ini akan mencetak nama pengguna, nama grup dan nama file, asalkan nama file tidak mengandung spasi. Atau, Anda dapat mengetik:

ls -l | awk '{print $3, $4, $0}' | sort

Ini akan mencetak nama pengguna, nama grup dan ls -loutput penuh , diurutkan berdasarkan nama pengguna terlebih dahulu, lalu nama grup, lalu apa pun yang ls -ldicetak terlebih dahulu.

Perhatikan bahwa tergantung pada distribusi Anda, nomor kolom yang sebenarnya mungkin berbeda. Saya mencoba milik saya di SUSE dan coreutils versi 5.2.1.

Mungkin ada solusi yang lebih baik, lebih rumit, tetapi ini adalah yang paling sederhana, dan akan bekerja sebagian besar waktu.


1
s / nomor baris / nomor kolom /
Dijeda sampai pemberitahuan lebih lanjut.

7

Seperti yang dikatakan petersohn, sesuatu yang mirip dengan:

  • ls -l | awk '{print $3, $4, $8, $0}' | sort | column -t
    menambahkan $8dan column -tuntuk cetak cantik

Atau lebih baik lagi:

  • ls -l | sort -k 3 - mengurutkan menurut pemilik dan secara default mengurutkan bidang berikutnya (grup) dan
  • ls -l | sort -k 4,4 -k 3 - mengurutkan berdasarkan kelompok dan kemudian oleh pemilik
  • ls -l | sort -k 3,3 -k 8 - macam oleh pemilik dan kemudian dengan nama file

Catatan: koma adalah bidang terminator sehingga 3,3dimulai dan diakhiri di bidang 3 3,5jenis dari bidang 3 hingga 5.


Untuk mengurutkan berdasarkan grup dan kemudian oleh pemilik saya harus menambahkan -b untuk mengabaikan blanko terkemuka, jika tidak daftar akan diurutkan berdasarkan panjang string dari nama pemilik.
Stefan Schmidt
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.