Je suis dans un dossier avec beaucoup de .txt
file, je voudrais trouver tous les fichiers qui contiennent à la fois stringA
et stringB
(pas forcément sur la même ligne), puis listez ces fichiers dans l'ordre de la taille (du plus petit au plus grand)
J'ai essayé ce qui suit, mais cela ne fonctionne pas :
ls -lS | for f in *; do grep -q stringA $f && grep -l stringB $f; done
Quelqu'un a-t-il une bonne idée ?
Réponse acceptée :
Vous pouvez utiliser GNU find
:
find . -maxdepth 1 -exec grep -q stringA {} ; -exec grep -q stringB {} ;
-printf '%10s %pn' |
sort -n