Ocenite etot tekst:




"fil'truet" stroki - ostavlyaya tol'ko "podhodyashchie" pod shablon

    egrep shablon  [ file ... ]

V  shablon  mogut  vhodit'  obyknovennye simvoly (predstavlyayushchie
sami sebya),  a  takzhe  -  specsimvoly,  vypolnyayushchie  sluzhebnye
funkcii shablona: . * ^ $ [ ]

    .        - lyuboj proizvol'nyj simvol
    *        - "mnozhitel'" (predydushchij simvol lyuboe chislo raz)
    .*       - lyubaya posledovatel'nost' simvolov
    ^shablon  - privyazyvaem shablon k nachalu stroki
    shablon$  - privyazyvaem shablon k koncu stroki
   [simvoly] - lyuboj odin simvol iz teh, chto stoyat v skobkah


Vyvesti vseh priveligirovannyh pol'zovatelej:

    egrep ':0:0:' /etc/passwd

Vyvesti vseh nepriveligirovannyh pol'zovatelej:

    egrep -v ':0:0:' /etc/passwd

Vyvesti  vseh  pol'zovatelej,  imena  kotoryh nachinayutsya s bukv
a,b,e,d

    cat /etc/passwd | grep "^[abed].*"



find rekursivno  obhodit  ukazannye katalogi i fajly, proveryaet
dlya nih vypolnenie  ukazannyh  uslovij  i mozhet vdobavok vypol-
nyat' s  najdennymi  fajlami  ukazannye dejstviya. Naprimer, samoe
prostoe dejstvie - raspechatat' imya fajla.

    find   fajl [ ... ]   klyuchi/usloviya/dejstviya

        Klyuchi-usloviya komandy find:

  -name "*.c" - prostoe imya podhodit pod shablon *.c
  -type f     - brat' tol'ko obyknovennye fajly
  -type d     - brat' tol'ko katalogi
  -size +500  - fajly razmerom BOLXSHE 500*512 bajt
  -mtime -3   - data modifikacii MENXSHE 3-h dnej
  -newer  filename - data modifikacii nashego fajla MENXSHE, chem u
                     zadannogo fajla filename

VNIMANIE:  Komanda  find  ispol'zuet  standartnye  SHELL'ovskie
shablony.  Komanda  grep  ispol'zuet  shablony  drugogo  formata,
nazyvaemye regulyarnymi vyrazheniyami.

        Klyuchi-dejstviya komandy find

  -print      - prosto raspechatat' marshrutnoe imya fajla
  -exec komanda nad fajlom {} \;

        Primer.

Napechatat' imena vseh obyknovennyh Si-shnyh fajlov, izmenivshihsya
za poslednie 4 dnya v tekushchem kataloge i ego podkatalogah.

    find . -type f -mtime -4 -print

Unichtozhit'  vse  fajly s okonchaniyami *.bu, *%, kotorye ne menya-
lis' bol'she mesyaca.

    find   / \( -name "*.bu" -o -name "*%" \) -type f    \
    -atime +30 -exec  rm  {} \;

zapis' "rm {} \;"  - oboznachaet komandu Unix, kotoraya budet vy-
polnyat'sya dlya vseh  takih  najdennyh fajlov. Vmesto znachka "{}"
budet podstavlyat'sya kazhdyj raz imya najdennogo fajla. Estestven-
no, chto takim obrazom my ih vse i unichtozhim.


Last-modified: Sun, 07 Aug 2005 11:47:11 GMT
Ocenite etot tekst: