[LINUX] Comment utiliser la commande grep et des exemples fréquents
commande grep
Commande pour rechercher des lignes correspondantes dans une expression régulière
syntaxe
grep [option] motif [fichier]
ex: grep -n abc aaa.txt
importance
★★★★★(5/5)
Obligatoire. Si vous ne vous en souvenez pas, cela gênera votre travail quotidien.
Options
Options dont vous voulez vous souvenir
- -e: utilise des expressions régulières (regex e?)
- -n: Afficher le numéro de ligne dans les résultats de la recherche (numéro, abréviation courante)
- -C5: Afficher les 5 lignes spécifiées avant et après la partie qui correspond au résultat de la recherche (le nombre de lignes est arbitraire. Peut-être que C n'a pas de signification, avant, après, et avant et après chaque correspondance dans A, B, C, donc ABC qui Tu devrais peut-être t'en souvenir
- -r: Recherche dans le répertoire (récursif. Omission courante)
- -i: Recherche insensible à la casse (insensible à la casse i. Peut-être ...)
Options dont vous voulez vous souvenir si vous le pouvez
- -v: ne correspond pas
- -B3: affiche les 3 lignes correspondantes précédentes (le nombre est arbitraire)
- -A2: Afficher 2 lignes après la correspondance (le nombre est arbitraire)
Options dont vous ne devez pas vous souvenir (pour chaque personne)
- -E: Recherche par expression régulière étendue
- -l: afficher uniquement le nom du fichier dans les résultats de recherche
- -h: ne pas afficher le nom du fichier dans les résultats de recherche
- -o: affiche les caractères qui correspondent aux résultats de la recherche
- -L: Afficher les fichiers non applicables
échantillon
- grep '^ A'sample.csv → A est ajouté au début de la ligne
- grep '\ [0-9]' sample.csv → Extraire la ligne contenant la chaîne de caractères de '[0-9]'
- ps aux | grep python → Extraire les processus contenant les caractères python
- grep -v '^ A'sample.csv → A n'est pas ajouté au début de la ligne
- grep -e aaa -e bbb sample.csv → Extraire la ligne contenant aaa ou bbb
- grep -i aaa sample.csv → Extraire les lignes contenant aaa, quelle que soit la casse
appendix
Si vous souhaitez effectuer une recherche AND avec grep
grep aaa sample.csv | grep bbb
→ Limitez-vous à ceux qui contiennent aaa, et réduisez encore plus à ceux qui contiennent bbb
Si vous voulez faire une recherche OR avec grep
grep -e aaa-e bbb sample.csv
→ Répétez plusieurs fois l'option -e. Extrayez la ligne contenant aaa et la ligne contenant bbb.
Je veux extraire celui avec un nom de fichier spécifique
ls ./ | grep aaa
→ Extraire les fichiers contenant aaa (nom de fichier) dans le répertoire courant (répertoire courant).
Je souhaite extraire un fichier contenant un contenu spécifique
grep aaa -rl ./
→ Fichiers du répertoire courant (répertoire courant) contenant aaa
Je souhaite connaître la dernière commande contenant une chaîne de caractères spécifique de l'historique des commandes exécutées
history | grep aaa | tail
→ Extraire les commandes y compris aaa des commandes d'historique. Réduisez aux 5 derniers avec la queue.
Résumé
La commande grep est obligatoire, c'est donc une bonne idée de s'en souvenir!