Comment faire une recherche pour plusieurs chaînes de caractères dans un fichier
Je recherche pour l'apparition de la chaîne1 OU mot2 OU string3, etc. dans un fichier, et imprimer uniquement les lignes (sur la sortie standard ou un fichier, un). Comment puis-je facilement le faire en bash?
Pour retrouver l'ensemble de chaînes de caractères dans un fichier, vous pouvez faire un grep dans la boucle FOR: unix.stackexchange.com/a/462445/43233
OriginalL'auteur topwoman | 2010-04-06
Vous devez vous connecter pour publier un commentaire.
vous pouvez également utiliser awk
Avec awk, vous pouvez également utiliser facilement ET la logique, si nécessaire.
OriginalL'auteur ghostdog74
On pourrait peut-être accepter sa réponse, si elle fonctionne.
OriginalL'auteur Chen Levy
Un autre choix, surtout si le nombre de chaînes que vous voulez de recherche est grand, est de mettre ces chaînes dans un fichier délimité par des sauts de ligne et l'utilisation:
OriginalL'auteur frankc
Avec Perl:
Avec Bash un liner:
Avec script Bash:
Remarque que les espaces autour de "[[ $ligne =~ mot1|mot2 ]]" sont tous pertinents. ie ne dans Bash:
do
etdone
le faire pour vous.ne elim_curly_braces; fait!
OriginalL'auteur dawg
Aussi:
OriginalL'auteur Randy Proctor