ΠΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° grep Π·Π° Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° grep Π΅ Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π² Unix ΠΈ Linux-Π±Π°Π·ΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π’Ρ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΡΡΠΈΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠ΅ΡΠΎ Ρ ΠΏΡΠ°Π²ΠΈ ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΈ Π²ΡΠΈΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Ρ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΡΡΡΡΠΈΡΠ΅ Π² Π»ΠΎΠ³-ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ Π±Π°Π·ΠΈ, grep ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π±ΡΡΠ·ΠΎ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΈΡΠ΅ Π½Π° grep ΠΈ Π½ΡΠΊΠΎΠΈ ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ° ΠΎΡ ΡΠ°Π·ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°.
ΠΠ°ΠΊΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° grep?
grep Π΅ ΡΡΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ “Global Regular Expression Print” (Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ ΠΎΡΠΏΠ΅ΡΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ) Π’Ρ ΡΡΡΡΠΈ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° Π΄Π°Π΄Π΅Π½ ΡΠ°Π±Π»ΠΎΠ½, ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΎΡΠΏΠ΅ΡΠ°ΡΠ²Π° ΡΠ΅Π·ΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. grep Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°, Π·Π°ΡΠΎΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ Π²ΠΈ Π΄Π° ΡΡΡΡΠΈΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, Π° Π½Π΅ ΡΠ°ΠΌΠΎ Π±ΡΠΊΠ²Π°Π»Π΅Π½ ΡΠ΅ΠΊΡΡ.
ΠΡΠ½ΠΎΠ²Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° grep Π΅:
grep [options] pattern [file...]
- pattern: Π‘ΡΡΠΈΠ½Π³ΡΡ ΠΈΠ»ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈΡΡ ΠΈΠ·ΡΠ°Π·, ΠΊΠΎΠΉΡΠΎ ΡΡΡΡΠΈΡΠ΅.
- ΡΠ°ΠΉΠ»: Π€Π°ΠΉΠ»ΡΡ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, Π² ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΡΡΡΠΈΡΠ΅.
- ΠΎΠΏΡΠΈΠΈ: ΠΠΏΡΠΈΠΈ: ΠΠ΅Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈ ΡΠ»Π°Π³ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° grep.
ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅
ΠΡΠΎ Π΅Π΄ΠΈΠ½ ΠΏΡΠΎΡΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΡΡΡΡΠΈ Π΄ΡΠΌΠ°ΡΠ° “Π³ΡΠ΅ΡΠΊΠ°” Π²ΡΠ² ΡΠ°ΠΉΠ», Π½Π°ΡΠ΅ΡΠ΅Π½ log.txt:
grep "error" log.txt

Π’ΠΎΠ²Π° ΡΠ΅ ΠΈΠ·Π²Π΅Π΄Π΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅ Π² log.txt, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π΄ΡΠΌΠ°ΡΠ° “error”
Π§Π΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΠΏΡΠΈΠΈ Π½Π° grep
Π‘ΠΈΠ»Π°ΡΠ° Π½Π° grep ΡΠ΅ ΠΊΡΠΈΠ΅ Π² Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡ. ΠΡΠΎ Π½ΡΠΊΠΎΠΈ ΠΎΡ Π½Π°ΠΉ-ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ Π΄Π° ΠΏΡΠ΅ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΡΡΡΠ΅Π½ΠΈΡΡΠ° ΡΠΈ.
1. Π’ΡΡΡΠ΅Π½Π΅ Π² Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΠΉΠ»Π°
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΡΡΠΈΡΠ΅ Π² Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°ΠΉΠ»Π° Π½Π°Π²Π΅Π΄Π½ΡΠΆ, ΠΊΠ°ΡΠΎ Π³ΠΈ ΠΈΠ·Π±ΡΠΎΠΈΡΠ΅ ΡΠ»Π΅Π΄ ΡΠ°Π±Π»ΠΎΠ½Π°:
grep "error" text.txt text1.txt
ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π·Π°ΠΌΠ΅ΡΡΠ²Π°ΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, Π·Π° Π΄Π° ΡΡΡΡΠΈΡΠ΅ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΈΠΏ:
grep "error" *.log
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΠ΅ ΡΡΡΡΠΈ “error” Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ .log ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
2. Π’ΡΡΡΠ΅Π½Π΅ Π±Π΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π±ΡΠΊΠ²ΠΈΡΠ΅ (-i)
ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ grep Π΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ ΠΊΡΠΌ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈ ΠΌΠ°Π»ΠΊΠΈ Π±ΡΠΊΠ²ΠΈ. ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅Π³Π½Π΅ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° -i:
grep -i "error" text.txt
Π’ΠΎΠ²Π° ΡΠ΅ ΡΡΠ²ΠΏΠ°Π΄Π½Π΅ Ρ “Error”, “ERROR” ΠΈΠ»ΠΈ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π΄ΡΡΠ³ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΡ.
3. Π Π΅ΡΠΈΠΏΡΠΎΡΠ½ΠΎ ΡΡΡΡΠ΅Π½Π΅ (-r ΠΈΠ»ΠΈ -R)
ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΡΡΡΠΈΡΠ΅ Π΄Π°Π΄Π΅Π½ ΡΠ°Π±Π»ΠΎΠ½ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π΄Π°Π΄Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ Π½Π΅ΠΉΠ½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° -r (ΠΈΠ»ΠΈ -R) Π·Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅:
grep -r "error" /var/logs/
Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ ΡΡΡΡΠΈ Π΄ΡΠΌΠ°ΡΠ° “error” Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² /var/logs/ ΠΈ Π½Π΅ΠΉΠ½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
4. ΠΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠΌΠ΅ΡΠ°ΡΠ° Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅ (-n)
ΠΠΏΡΠΈΡΡΠ° -n ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈ Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° ΡΠ΅Π΄Π° Π² ΠΈΠ·Ρ ΠΎΠ΄Π°, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° Π±ΡΡΠ·ΠΎ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ²ΠΏΠ°Π΄Π½Π°Π»ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ Π²ΡΠ² ΡΠ°ΠΉΠ»Π°:
grep -n "error" text.txt
ΠΠ·Ρ ΠΎΠ΄ΡΡ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΠΊΠΎΠΉ ΡΠ΅Π΄ ΡΡΠ΄ΡΡΠΆΠ° ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠ°ΠΊΡΠΎ Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎ-Π΄ΠΎΠ»Ρ:
25:ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π΅ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Π»Π°Π³ΡΠ΅ΡΠΊΠ°
5. ΠΡΠΎΠΉ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ (-c)
ΠΠΊΠΎ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΡΠ΅ ΡΠ°ΠΌΠΎ ΠΎΡ ΡΠΎΠ²Π° ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ Π΄Π°Π΄Π΅Π½ ΡΠ°Π±Π»ΠΎΠ½ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π° Π²ΡΠ² ΡΠ°ΠΉΠ»Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° -c, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π±ΡΠΎΡ Π½Π° ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡΡΠ°, Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°ΡΠ΅ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅:
grep -c "error" text.txt
Π’ΠΎΠ²Π° ΡΠ΅ ΠΈΠ·Π²Π΅Π΄Π΅ Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π°:

ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΡΠΎ “Π³ΡΠ΅ΡΠΊΠ°” ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΡΡΠΈ ΠΏΡΡΠΈ Π² log.txt.
6. ΠΠ½Π²Π΅ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ (-v)
ΠΠ° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ°Π±Π»ΠΎΠ½, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° -v:
grep -v "error" text.txt
Π’ΠΎΠ²Π° ΡΠ΅ Π²ΡΡΠ½Π΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅ Π² log.txt, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π΄ΡΠΌΠ°ΡΠ° “Π³ΡΠ΅ΡΠΊΠ°”
7. Π’ΡΡΡΠ΅Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈ Π΄ΡΠΌΠΈ (-w)
ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΡΡΡΠΈΡΠ΅ ΡΠ΅Π»ΠΈ Π΄ΡΠΌΠΈ, Π° Π½Π΅ ΡΠ°ΡΡΠΈΡΠ½ΠΈ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° -w . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
grep -w "error" log.txt
Π’ΠΎΠ²Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ Π΄ΡΠΌΠ°ΡΠ° “error” ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΡΠ°ΠΌΠΎ ΠΊΠ°ΡΠΎ ΡΡΠ»Π° Π΄ΡΠΌΠ°, Π° Π½Π΅ ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ ΠΊΠ°ΡΠΎ “error123” ΠΈΠ»ΠΈ “myerror”
8. ΠΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π° (-m)
ΠΠΊΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠ΅ ΡΠ°ΠΌΠΎ ΠΎΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π±ΡΠΎΠΉ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° -m , Π·Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π΄Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π²ΡΡΠ½Π°ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ°ΠΌΠΎ ΠΏΡΡΠ²ΠΈΡΠ΅ 5 ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ:
grep -m 5 "error" log.txt
9. ΠΠΎΠ΄ΡΠ΅ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡΡΠ° (–color)
ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ ΠΊΡΠ΄Π΅ Π² ΠΈΠ·Ρ ΠΎΠ΄Π° ΡΠ΅ ΡΡΠ΅ΡΠ° ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΠ²Π΅ΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Π²Π°Π½Π΅ Ρ ΠΎΠΏΡΠΈΡΡΠ° –color :
grep --color "error" log.txt
Π ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΈ ΡΠΎΠ²Π° ΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Π΅ Ρ ΡΠ²ΡΡ ΡΡΠ²ΠΏΠ°Π΄Π½Π°Π»ΠΈΡ ΡΠ΅ΠΊΡΡ.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ Ρ grep
ΠΠ΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΌΠΎΡΠ½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° grep Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ (regex), ΠΊΠΎΠΈΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΡΡΡΠΈΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΈ, Π° Π½Π΅ ΡΠΈΠΊΡΠΈΡΠ°Π½ΠΈ Π½ΠΈΠ·ΠΎΠ²Π΅.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ
ΠΡΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ Ρ grep:
- Π’ΡΡΡΠ΅Π½Π΅ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ°Π±Π»ΠΎΠ½:
grep "^error" log.txt
ΠΠ°ΡΠ΅ΡΠ°ΡΠ° (^) ΡΡΠ²ΠΏΠ°Π΄Π° Ρ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΡΠ΅Π΄Π°, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π·Π°ΠΏΠΎΡΠ²Π°Ρ Ρ “Π³ΡΠ΅ΡΠΊΠ°”
- Π’ΡΡΡΠ΅Π½Π΅ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π·Π°Π²ΡΡΡΠ²Π°Ρ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ°Π±Π»ΠΎΠ½:
grep "error$" log.txt
ΠΠ½Π°ΠΊΡΡ Π·Π° Π΄ΠΎΠ»Π°Ρ ($) ΡΡΠ²ΠΏΠ°Π΄Π° Ρ ΠΊΡΠ°Ρ Π½Π° ΡΠ΅Π΄Π°, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ Π·Π°Π²ΡΡΡΠ²Π°Ρ Ρ “error”
- Π’ΡΡΡΠ΅Π½Π΅ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ ΡΠΈΡΡΠΈ:
grep "[0-9]" log.txt
Π¨Π°Π±Π»ΠΎΠ½ΡΡ [0-9] ΡΡΠ²ΠΏΠ°Π΄Π° Ρ Π²ΡΡΠΊΠ° ΡΠΈΡΡΠ°, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ ΡΠΈΡΡΠΈ.
Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ
ΠΠ° ΠΏΠΎ-ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½ΠΎ ΡΡΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° -E, ΠΊΠΎΡΡΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ:
grep -E "error|failure" log.txt
Π’Π°ΠΊΠ° ΡΠ΅ ΡΠ΅ ΡΡΡΡΡΡ ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ “error” ΠΈΠ»ΠΈ “failure”. Π‘ΠΈΠΌΠ²ΠΎΠ»ΡΡ | ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° “ΠΠΠ” Π² ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ.
ΠΡΡΠ³ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Ρ:
- * (Π½ΡΠ»Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠ΅ΡΠ°Π½ΠΈΡ)
- (Π΅Π΄Π½Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠ΅ΡΠ°Π½ΠΈΡ)
- . (ΡΡΠ²ΠΏΠ°Π΄Π° Ρ Π²ΡΠ΅ΠΊΠΈ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠΈΠΌΠ²ΠΎΠ»)
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° Π΄Π° ΡΡΡΡΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π²ΡΡΠΊΠ° Π΄ΡΠΌΠ°, Π·Π°ΠΏΠΎΡΠ²Π°ΡΠ° Ρ “err” ΠΈ Π·Π°Π²ΡΡΡΠ²Π°ΡΠ° Ρ Π²ΡΠΈΡΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ ΡΠ»Π΅Π΄ Π½Π΅Ρ:
grep -E "err.*" log.txt
Π’ΡΡΡΠ΅Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ zgrep
ΠΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΡΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ.gz ΡΠ°ΠΉΠ»ΠΎΠ²Π΅), ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° zgrep, ΠΊΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ grep, Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅:
zgrep "error" log.gz
Π’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΡΡΠΈ “error” Π²ΡΠ² ΡΠ°ΠΉΠ»Π° log.gz, Π±Π΅Π· Π΄Π° ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΉΠ»Π° ΡΡΡΠ½ΠΎ.
ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° grep Ρ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΡΠ΅ grep Ρ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΡΠ±ΠΈ (|), Π·Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΌΠΎΡΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΠΎΡΠΎΡΠΈ Π·Π° ΡΡΡΡΠ΅Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
- Π’ΡΡΡΠ΅Π½Π΅ Π² ΠΈΠ·Ρ
ΠΎΠ΄Π° Π½Π° Π΄ΡΡΠ³Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°:ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ Π΄ΡΠΌΠ°ΡΠ° “bash”, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅:
ps aux | grep "bash"
- Π’ΡΡΡΠ΅Π½Π΅ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΆΡΡΠ½Π°Π»Π΅Π½ ΡΠ°ΠΉΠ» ΠΈ ΠΏΡΠ΅Π±ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈΡΠ΅ ΡΡΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ:
grep "error" log.txt | sort | uniq -c
Π’ΠΎΠ²Π° ΡΠ΅ ΡΠΎΡΡΠΈΡΠ° ΠΈΠ·Ρ ΠΎΠ΄Π° Π½Π° ΡΡΠ²ΠΏΠ°Π΄Π°ΡΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅ ΠΈ ΡΠ΅ ΠΏΡΠ΅Π±ΡΠΎΠΈ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈΡΠ΅ ΡΡΠ΅ΡΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° grep Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΡΠ΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΡΡΡΡΠΈΡΠ΅ ΡΠ΅ΠΊΡΡ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ Π±ΡΡΠ·ΠΈΠ½Π° ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π»ΠΎΠ³ΠΎΠ²Π΅, ΡΠΈΠ»ΡΡΠΈΡΠ°ΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΡΡΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄, ΠΎΠ²Π»Π°Π΄ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° grep ΡΠ΅ Π²ΠΈ ΡΠΏΠ΅ΡΡΠΈ Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΡΡΠΈΠ»ΠΈΡ. Π‘ ΠΎΠΏΡΠΈΠΈΡΠ΅ Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π±Π΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈ ΠΌΠ°Π»ΠΊΠΈ Π±ΡΠΊΠ²ΠΈ, ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ ΠΈ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΡΡΡΡΠ΅Π½Π΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, grep Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π³ΡΠ²ΠΊΠ°Π², Π·Π° Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈ Ρ ΠΏΠΎΡΡΠΈ Π²ΡΡΠΊΠ° Π·Π°Π΄Π°ΡΠ° Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΡΠΎ ΠΌΡ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅.
Π§ΡΠ΅Π· ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° grep Ρ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠ±ΡΠΎΠΉΠ½ΠΈΡΠ΅ ΠΌΡ ΠΎΠΏΡΠΈΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΡΡΡΠ΅Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ Π³ΠΎ ΠΏΡΠ°Π²ΠΈ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π²ΡΠ² Π²ΡΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° Linux ΠΈΠ»ΠΈ Unix.
