Saya ingin menerima output dari ls -lperintah saya :
-rw-r--r-- 1 root root 1866 Feb 14 07:47 rahmu.file
-rw-r--r-- 1 rahmu user 95653 Feb 14 07:47 foo.file
-rw-r--r-- 1 rahmu user 1073822 Feb 14 21:01 bar.file
Saya ingin menjalankan hanya grep rahmupada kolom $ 3, sehingga output dari grepperintah saya akan terlihat seperti ini:
-rw-r--r-- 1 rahmu user 95653 Feb 14 07:47 foo.file
-rw-r--r-- 1 rahmu user 1073822 Feb 14 21:01 bar.file
Apa cara paling sederhana untuk melakukannya? Jawabannya harus portabel di banyak Unices, lebih disukai berfokus pada Linux dan Solaris.
NB: Saya tidak mencari cara untuk menemukan semua file milik pengguna tertentu. Contoh ini hanya diberikan untuk membuat pertanyaan saya lebih jelas.
--printfopsi untuk statberguna di tempat-tempat di mana Anda mungkin mempertimbangkan untuk parsing ls. Tapi biasanya, finditulah yang Anda inginkan (seperti yang disebutkan @Gilles).
lsinheren rapuh (pikirkan apa yang terjadi jika nama pengguna berisi spasi putih - dan ya, ini terjadi pada beberapa platform). Gunakanfindsebagai gantinya.