Voglio grep l'output del mio ls -l
comando:
-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 rahmu
sulla colonna $ 3, quindi l'output del mio grep
comando 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.
--printf
opzione stat
potrebbe 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). Usafind
invece.