Une des commandes utilisées lors de l'administration une ligne de commande UNIX ou Linux est sans doute `grep.
Pour ceux qui ne connaissent pas, je dirai simplement que c'est un script efficace et très flexible capable de détecter les expressions régulières dans un fichier ou une sortie texte.
Le nom de la commande est en fait synonyme de «mondial expression imprimé normal".
Tout le reste peut être trouvée avec l'habituel `man grep.
Pour ceux qui utilisent généralement de grep pour les tâches administratives de tous les jours, je collectionne ici un certain nombre d'exemples d'utilisation un peu "plus avancés et - peut-être - inhabituel.
Peut être utile pour vous, car ils étaient pour moi à de nombreuses reprises.
Trouver les occurrences de la séquence ici, ici, dans la cour et fichier.txt:
grep "qui.*quo.*qua" ./file.txt
Trouver les occurrences de ou ici ou ici, dans la cour fichier.txt:
grep -P 'qui|quo|qua' ./file.txt
Vérifiez que une adresse email correctement formatée est la suivante:
echo "info@test.eu" | grep -Ei '\b[a-z0-9]{1,}@*\.(it|eu|com|net|org|tv)\b'
Trouver le mot ici dans une affaire sensible dans le / fichier.txt.:
grep -iw "is" demo_file
Retrouvez les adresses email formaté comme une enceinte <qwerty.qwerty@qwerty.com> test.txt et supprime les caractères (<et>):
grep -o '<.*@.*\.*>' ./test.txt | tr -d '<>'
Trouver des occurrences multiples de ou ici ou ici, au tribunal une chaîne de texte:
echo -e "1) qui quo qua\n2) quo qui qua\n3)qui quo qui\n4) qua quo qui\n" | grep -E '(qui|quo|qua).*\1'
Vérifiez si la chaîne est passée à travers des tuyaux ou non une adresse IP (essayez de passage d'un format d'adresse IP incorrecte):
echo "192.168.123.123" | grep -E '\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b'
. Montrer toutes les rangées dell'httpd Conf omettant les instructions a commenté:
grep -v -E '^\#|^$' /etc/apache2/httpd.conf
En supposant que le script test.sh contient les instructions suivantes:
#!/bin/bash
contatore=1
until [ $contatore -gt 10 ]; do
echo contatore $contatore
let contatore+=1
done
... Identifie la ligne de commande suivante 4 et les 3 lignes suivantes:
./test.sh | grep -A 3 -i "contatore 4"
... La commande suivante identifie plutôt que toutes les lignes sauf celles contenant 4 et 6:
./test.sh | grep -v -e "4" -e "6"
Le site officiel du projet est situé à grep http://gnu.org/software/grep/ .