Je veux grep la sortie de ma ls -lcommande:
-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 rahmuuniquement la colonne $ 3, le résultat de ma grepcommande 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.
--printfoption statpeut être utile dans des endroits où vous pourriez autrement envisager d'analyser ls. Mais généralement, findc’est ce que vous voulez (comme @Gilles l’a mentionné).
lsest 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 à lafindplace.