← Back to team overview

sslug-teknik team mailing list archive

RE: Re: batch sletning af filer med find / grep / rm

 

find . -name "*navnefragment*" | xargs -0 rm -v

virker ikke så samler den alle filerne på en linie og prøver at slette dem

./1/fil 1
./2/fil 2

bliver således til

./1/fil 1./2/fil 2

/Lasse

-----Original Message-----
From: Peter Makholm [mailto:peter@xxxxxxxxxxx] 
Sent: 26. juni 2003 12:56
To: sslug-teknik@xxxxxxxx
Subject: Re: [TEKNIK] batch sletning af filer med find / grep / rm

"Lasse Taul Bjerre" <ltb@xxxxxxxxxxxxxx> writes:

> Foreløbeligt er jeg kommet frem til følgende:
>
> find ./ | grep "fil_type_1" | xargs rm -v

Din grep er overflødig:

find . -name "*navnefragment*" | xargs rm -v

gør det samme.


For at løse problemet med filnavne med mellemrumstegn i kan du få find
og xargs til at bruge NUL-separerede felter:

find . -name "*navnefragment*" | xargs -0 rm -v

Det er hhv -print0 og -0 der gør forskellen. Så kan du tilgengæld ikke
bruge grep man skal lave tjekket i find (eller med perl).

-- 
 Peter Makholm     |              Emacs is the only modern general-purpose
 peter@xxxxxxxxxxx |               operating system that doesn't multitask
 http://hacking.dk |                                                      




Follow ups