Una dintre comenzile cele mai utilizate atunci când administrează o linie de comandă UNIX sau Linux, este, cu siguranta `grep`.
Pentru cei care nu cunosc, voi spune doar că acesta este un scenariu extrem de eficient şi flexibil, care poate găsi expresii regulate într-un fişier sau o ieşire de text.
Numele comenzii este de fapt vine de la "Global regulat expresie-print".
Orice altceva poate fi găsit cu obişnuite `` grep om.
Pentru cei care folosesc, de obicei, grep pentru sarcinile administrative în fiecare zi, am colecta aici o serie de exemple de utilizare un "pic mai evoluat şi - poate - neobişnuite.
Poate fi util pentru tine, ca au fost la mine în numeroase ocazii.
Găsiţi apariţii ale secvenţei aici, aici, în instanţa de judecată şi file.txt:
grep "qui.*quo.*qua" ./file.txt
Găsiţi apariţii ale SAU aici sau aici file.txt în instanţă:
grep -P 'qui|quo|qua' ./file.txt
Verificarea că o adresă de e-mail este formatat corect:
echo "info@test.eu" | grep -Ei '\b[a-z0-9]{1,}@*\.(it|eu|com|net|org|tv)\b'
Găsiţi cuvântul aici, într-un caz în sensibil inch / file.txt:
grep -iw "is" demo_file
Găsiţi adrese de e-mail în test.txt formatate ca incintei <qwerty.qwerty@qwerty.com> şi îndepărtează de caractere (<and>):
grep -o '<.*@.*\.*>' ./test.txt | tr -d '<>'
Găsiţi mai multe apariţii ale SAU aici sau aici quo-ului într-un şir de text:
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'
Verificaţi dacă şirul a trecut printr-o conducta de la adresa IP sau nu (încercaţi trece o adresa de rău-formate IP):
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'
Arată tot dell'httpd rândurile Conf. omiţând instrucţiunile de comentat.:
grep -v -E '^\#|^$' /etc/apache2/httpd.conf
Presupunând că script-ul test.sh conţine următoarele instrucţiuni:
#!/bin/bash
contatore=1
until [ $contatore -gt 10 ]; do
echo contatore $contatore
let contatore+=1
done
Următoarea comandă ... găsi 4 linii si 3 linii de următoarele:
./test.sh | grep -A 3 -i "contatore 4"
Identifică următoarea comandă, în loc ... toate liniile, cu excepţia celor care conţin 4 şi 6:
./test.sh | grep -v -e "4" -e "6"
Site-ul oficial al proiectului este situat la grep http://gnu.org/software/grep/ .