Je veux grep la sortie de ma ls -l
commande:
-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
Je veux utiliser grep rahmu
uniquement la colonne $ 3, le résultat de ma grep
commande devrait alors ressembler à ceci:
-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
Quel est le moyen le plus simple de le faire? La réponse doit être portable sur plusieurs Unices, de préférence sous Linux et Solaris.
NB: Je ne cherche pas un moyen de trouver tous les fichiers appartenant à un utilisateur donné. Cet exemple n'a été donné que pour clarifier ma question.
--printf
option stat
peut être utile dans des endroits où vous pourriez autrement envisager d'analyser ls
. Mais généralement, find
c’est ce que vous voulez (comme @Gilles l’a mentionné).
ls
est intrinsèquement fragile (imaginez ce qui se passe si un nom d'utilisateur contient des espaces - et oui, cela se produit sur certaines plates-formes). Utilisez à lafind
place.