μ΄ ν¬μ€ν μ μΏ ν‘ ννΈλμ€ νλμ μΌνμΌλ‘, μ΄μ λ°λ₯Έ μΌμ μ‘μ μμλ£λ₯Ό μ 곡λ°μ μ μμ΅λλ€.
μΆμ² : μ λμ€ μ λ°μ΄λΈ (μ리 ν΄ν΄λ¦¬ μ§μ)μμ λ°μ·.
3.1 grep λͺ
λ Ήμ΄
grep : νμΌ μ 체λ₯Ό λ€μ Έ μ κ·ννμμ λμνλ λͺ¨λ νλ€μ μΆλ ₯νλ€.
egrep : grepμ νμ₯νμΌλ‘, μΆκ° μ κ·ννμ λ©νλ¬Έμλ€μ μ§μνλ€.
fgrep : fixed grep μ΄λ fast grepμΌλ‘ λΆλ¦¬λ©°, λͺ¨λ λ¬Έμλ₯Ό λ¬Έμ κ·Έλλ μ·¨κΈνλ€. μ¦, μ κ·ννμμ λ©νλ¬Έμλ μΌλ° λ¬Έμλ‘ μ·¨κΈνλ€.
3.2 μ κ·ννμμ μ¬μ©νλ grepμ μμ
# grep NW datafile
# grep NW d* (dλ‘ μμνλ λͺ¨λ νμΌμμ NWλ₯Ό ν¬ν¨νλ λͺ¨λ νμ μ°Ύλλ€.)
# grep '^n' datafile (nμΌλ‘ μμνλ λͺ¨λ νμ μΆλ ₯νλ€.)
# grep '4$' datafile (4λ‘ λλλ λͺ¨λ νμ μΆλ ₯νλ€.)
# grep TB Savage datafile (TBλ§ μΈμμ΄κ³ Savageμ datafileμ νμΌ μ΄λ¦μ΄λ€.)
# grep 'TB Savage' datafile (TB Savageλ₯Ό ν¬ν¨νλ λͺ¨λ νμ μΆλ ₯νλ€.)
# grep '5.' datafile (μ«μ 5, λ§μΉ¨ν, μμμ ν λ¬Έμκ° μμλλ‘ λνλλ λ¬Έμμ΄μ΄ ν¬ν¨λ νμ μΆλ ₯νλ€.)
# grep '.5' datafile (.5κ° λμ€λ λͺ¨λ νμ μΆλ ₯νλ€.)
# grep '^[we]' datafile (wλ eλ‘ μμνλ λͺ¨λ νμ μΆλ ₯νλ€.)
# grep '[^0-9]' datafile (μ«μκ° μλ λ¬Έμλ₯Ό νλλΌλ ν¬ν¨νλ λͺ¨λ νμ μΆλ ₯νλ€.)
# grep '[A-Z][A-Z] [A-Z]' datafile (λλ¬Έμ 2κ°μ 곡백 1κ°, κ·Έλ¦¬κ³ λλ¬Έμ νλκ° μ°μ΄μ΄ λμ€λ λ¬Έμμ΄μ΄ ν¬ν¨λ νμ μΆλ ₯νλ€.)
# grep 'ss* ' datafile (sκ° ν λ² λμ€κ³ , λ€μ sκ° 0λ² λλ μ¬λ¬λ² λμ¨ νμ κ³΅λ°±μ΄ μ°μ΄μ΄ λ±μ₯νλ λ¬Έμμ΄μ ν¬ν¨ν λͺ¨λ νμ μΆλ ₯νλ€.)
# grep '[a-z]{9}' datafile (μλ¬Έμκ° 9λ² μ΄μ λ°λ³΅λλ λ¬Έμμ΄μ ν¬ν¨νλ λͺ¨λ νμ μΆλ ₯νλ€.)
# grep '(3).[0-9].*1 *1' datafile (μ«μ 3,λ§μΉ¨ν,μμμ ν μ«μ,μμ κ°μμ λ¬Έμ,μ«μ 3(νκ·Έ),μμ κ°μμ ν λ¬Έμ,μ«μ 3μ μμλ₯Ό κ°λ λ¬Έμμ΄μ΄ ν¬νλ λͺ¨λ νμ μΆλ ₯νλ€.)
# grep '
(northλ‘ μμνλ λ¨μ΄κ° ν¬ν¨λ λͺ¨λ νμ μΆλ ₯νλ€.)
# grep '
#
grep '<[a-z].*n>' datafile (μλ¬Έμ νλλ‘ μμνκ³ , μ΄μ΄μ μμ κ°μμ μ¬λ¬ λ¬Έμκ° λμ€λ©°,
nμΌλ‘ λλλ λ¨μ΄κ° ν¬ν¨λ λͺ¨λ νμ μΆλ ₯νλ€. μ¬κΈ°μ .*λ 곡백μ ν¬ν¨ν μμμ λ¬Έμλ€μ μλ―Ένλ€.)
3.3 grepμ μ΅μ
μ¬μ©
# grep -n '^south' datafile (νλ²νΈλ₯Ό ν¨κ» μΆλ ₯νλ€.)
# grep -i 'pat' datafile (λμλ¬Έμλ₯Ό ꡬλ³νμ§ μκ² νλ€.)
# grep -v 'Suan Chin' datafile (λ¬Έμμ΄ Suan Chinμ΄ ν¬ν¨λμ§ μμ λͺ¨λ νμ μΆλ ₯νκ² νλ€. μ΄ μ΅μ
μ μ
λ ₯ νμΌμμ νΉμ λ΄μ©μ μ
λ ₯μ μμ νλλ° μ°μΈλ€.
# grep -v 'Suan Chin' datafile > black
# mv black datafile
# grep -l 'SE' * (ν¨ν΄μ΄ μ°Ύμμ§ νμΌμ ν λ²νΈ λμ λ¨μ§ νμΌμ΄λ¦λ§ μΆλ ₯νλ€.)
# grep -w 'north' datafile (ν¨ν΄μ΄ λ€λ₯Έ λ¨μ΄μ μΌλΆκ° μλ νλμ λ¨μ΄κ° λλ κ²½μ°λ§ μ°Ύλλ€. northwestλ northeast λ±μ λ¨μ΄κ° μλλΌ, northλΌλ λ¨μ΄κ° ν¬ν¨λ νλ§ μΆλ ₯νλ€.)
#
grep -i "$LOGNAME" datafile (νκ²½λ³μμΈ LOGNAMEμ κ°μ κ°μ§ λͺ¨λ νμ μΆλ ₯νλ€. λ³μκ° ν°λ°μ΄νλ‘
λλ¬μΈμ¬ μλ κ²½μ°, μμ λ³μμ κ°μΌλ‘ μΉννλ€. μμλ°μ΄νλ‘ λλ¬μΈμ¬ μμΌλ©΄ λ³μ μΉνμ΄ μΌμ΄λμ§ μκ³ κ·Έλ₯ $LOGNAME
μ΄λΌλ λ¬Έμλ‘ μΆλ ₯λλ€.)
3.4 egrep
egrep(extended grep) : grepμμ μ 곡νμ§ μλ νμ₯λ μ κ·ννμ λ©νλ¬Έμλ₯Ό μ§μ νλ€. grepμ λμΌν λͺ
λ Ήν μ΅μ
μ μ§μνλ€.
3.4.1 egrep μμ
# egrep 'NW|EA' datafile (NWλ EAκ° ν¬ν¨λ νμ μΆλ ₯νλ€.)
# egrep '3+' datafile (μ«μ 3μ΄ ν λ² μ΄μ λ±μ₯νλ νμ μΆλ ₯νλ€.)
# egrep '2.?[0-9]' datafile (μ«μ 2 λ€μμ λ§μΉ¨νκ° μκ±°λ ν λ² λμ€κ³ , λ€μ μ«μκ° μ€λ νμ μΆλ ₯νλ€.)
# egrep ' (no)+' datafile (ν¨ν΄ noκ° ν λ² μ΄μ μ°μν΄μ λμ€λ νμ μΆλ ₯νλ€.)
# egrep 'S(h|u)' datafile (λ¬Έμ S λ€μμ hλ uκ° λμ€λ νμ μΆλ ₯νλ€.)
# egrep 'Sh|u' datafile (ν¨ν΄ Shλ uλ₯Ό ν¬ν¨ν νμ μΆλ ₯νλ€.)
3.5 κ³ μ grep κ³Ό λΉ λ₯Έ grep
fgrep : grep λͺ
λ Ήμ΄μ λμΌνκ² λμνλ€. λ€λ§ μ κ·ννμ λ©νλ¬Έμλ€μ νΉλ³νκ² μ·¨κΈνμ§ μλλ€.
# fgrep '[A-Z]****[0-9]..$5.00' file ([A-Z]****[0-9]..$5.00 μ΄ ν¬ν¨λ νμ μΆλ ₯νλ€. λͺ¨λ λ¬Έμλ€μ λ¬Έμ μ체λ‘λ§ μ·¨κΈνλ€.)