Voglio grep l'output del mio ls -lcomando:
-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
Voglio correre solo grep rahmusulla colonna $ 3, quindi l'output del mio grepcomando dovrebbe assomigliare a questo:
-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
Qual è il modo più semplice per farlo? La risposta deve essere portatile in molti Unices, preferibilmente concentrandosi su Linux e Solaris.
NB: Non sto cercando un modo per trovare tutti i file appartenenti a un determinato utente. Questo esempio è stato fornito solo per chiarire la mia domanda.
--printfopzione statpotrebbe tornare utile in luoghi in cui potresti prendere in considerazione l'analisi ls. Ma di solito findè quello che vuoi (come menzionato da @Gilles).
lsè intrinsecamente fragile (pensa cosa succede se un nome utente contiene spazi bianchi - e sì, ciò accade su alcune piattaforme). Usafindinvece.