Komandy poiska GREP i FIND
"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