Fajlrendszer: XFS
Kernel: 2.6.32.2 x86_64
Az eltavolitando fajlok rengeteg mappaban vannak (2k+). A meretuk 70gb korul van. Az eltavolitando fajlok szama kb 110k korul.
A fajlok altaban a pattern-el kezdodnek pl:
valami_fajl_neve_tag.xxx
De van hogy:
fvalami_fajl_neve_tag.xxx
Az f-est max kiegeszitem, lefuttatom ugyanugy.
Kivancsi lennek hogy ezt ki hogy oldana meg. KFind meg megtalalta a dolgokat, ki is szurte, de a jobb gomb utan a Delete/Trash az kamikaze akcionak tunik.
Koszonok elore is mindennemu segitseget.
- 852 megtekintés
Hozzászólások
find :) Mi más?
- A hozzászóláshoz be kell jelentkezni
ez profi. :D
Pl: for file in $(find . -type f|grep «pattern»); do rm $file; done ?
Nem ilyesmire gondoltam hanem MEGOLDASRA. Persze hintem/felmegoldasom nekem is van, de nem akarok barbarkodni. Olyan ember valaszat vartam/varom aki csinalt mar ilyent es van otlete hogyan kene nekiesni. (Az en modszeremben ott a bottleneck hogy a shell nem biztos elbirja.)
- A hozzászóláshoz be kell jelentkezni
Hmmm... van annak a findnak egy -regex, (igény esetén -iregex) és egy -exec argumentuma is...
(Párterás sambán szokásom keresgélni így).
- A hozzászóláshoz be kell jelentkezni
ahogy lx is írja ez nem find hanem (tetű lassú, újfolyamatindítgató) bash, a find pedig tökéletes :)
pl: find / -iregex "..." -exec rm \{}
vagy valami ilyesmi, nagyon sok mindent tud a "man find" a keresés pontosítására
- A hozzászóláshoz be kell jelentkezni
Ha while read-val adod át akkor nem fog előjönni (ksh alatt csináltam ilyet) az argumentum hossz probléma. De meg ez sem jó, mert elunod az életed az rm hívások alatt.
Az igazi megoldás, ha a find-nak a beépített törlését használod, mivel az syscall-ként kerül hívásra.
- A hozzászóláshoz be kell jelentkezni
Koszi mindharmotoknak (igy egyszerubb valaszolni mindre). Mindjart nekiesek. :)
- A hozzászóláshoz be kell jelentkezni
En ilyen esetekben ugy szoktam, hogy find . -type f -name "*valami_fajl_neve_tag.*"| awk '{printf "rm -rf %s\n",$1}' > kiakaromtorolni.sh.
Atnyalazom a kiakaromtorolni.sh-t, hogy csak az van-e benne, amit ki szeretnek torolni. Aztan sh ./kiakaromtorolni.sh.
A find . -type f -name "*valami_fajl_neve_tag.*" -exec rm -rf {} \; kicsit veszelyes , bar ha az rm -rf helyett ls -la-t használ az ember, akkor talan meg atnezheto, mit akarunk torolni.
Remelem ez volt a kerdes.
--
Joe
- A hozzászóláshoz be kell jelentkezni
find <könyvtár> -name "akarmi.*" -print0 | xargs -0 rm -f
Ez nem fájlonként hívja meg az rm-et, hanem nagyobb adagokban.
- A hozzászóláshoz be kell jelentkezni
Koszonom megegyszer mindenkinek.
- A hozzászóláshoz be kell jelentkezni