GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa mengurutkan berdasarkan pemilik dan grup?

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 -l lengkap output, diurutkan berdasarkan nama pengguna terlebih dahulu, lalu nama grup, lalu ls -l apa pun cetak terlebih dahulu.

Perhatikan bahwa bergantung 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 dan lebih rumit, tetapi ini yang paling sederhana, dan akan sering berhasil.


Seperti kata petersohn, sesuatu yang mirip dengan:

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

Atau bahkan lebih baik:

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

Catatan: koma adalah bidang terminator jadi 3,3 dimulai dan diakhiri pada kolom 3 3,5 mengurutkan dari bidang 3 hingga 5.


Linux
  1. Cara Menemukan file besar linux dengan perintah find dan du

  2. Bagaimana mengelola pengguna dan grup di Server FreeIPA

  3. Bagaimana Teknologi Cloud Dapat Memberdayakan eLearning dan Pembelajaran Jarak Jauh?

  1. Ubah pemilik dan grup di C?

  2. Bagaimana cara mendapatkan ps untuk mencetak grup?

  3. Bagaimana saya bisa mengubah grup default pengguna di Linux?

  1. Bagaimana saya bisa menggunakan wildcard gaya ms-dos dengan ls dan mv?

  2. Bagaimana saya bisa mengurutkan output du -h berdasarkan ukuran

  3. Mengapa crontab saya tidak berfungsi, dan bagaimana cara mengatasinya?