Sida 1 av 1
Fråga om find och rm
Postat: 18 dec 2012, 23:23
av martin77
Jag skrev ut kommandot:
Kod: Markera allt
find ~/Hämtningar/ -name '*.pdf' -exec cp '{}' pdf ';'
för att radera alla .pdf:er i katalogen, men kommandot raderade även alla pdf:er i de underliggande mapparna, det fungerade alltså rekursivt. Varför? Måste inte rm ha en -R eller -r flagga för att gå ner i katalogerna?
Nu var det ingen större katastrof men jag vill ändå veta.
Re: Fråga om find och rm
Postat: 19 dec 2012, 00:48
av mcNisse
find går alltid rekursivt igenom alla kataloger. Det går att begränsa hur djupt find letar med -maxdepth n. n=1 ger ingen rekursion.
Ditt kommando gjorde ingen delete utan kopierade filerna antingen till en fil som heter pdf eller lade alla filerna i en katalog med namnet pdf. Du har mao minst kvar den sista pdfen som hittades av find.
Om du ville ta bort felerna hade du varit tvungen att skriva
Re: Fråga om find och rm
Postat: 19 dec 2012, 14:34
av martin77
Kom på att det var snarare
find som arbetade rekursivt snarare än
rm senare när jag låg och funderade på kommandot. Vad gäller kodraden så kopierade jag in fel från terminalen. Kommandot med cp var det första, men det efterföljande rm-kommandot (som jag ville skulle radera de kvarliggande orginalen, borde ha använt mig av
mv istället så här i efterhand) raderade även pdf-katalogen

Men en följdfråga, skiljer sig detta kommando från ditt exempel
Det går att begränsa hur djupt find letar med -maxdepth n. n=1 ger ingen rekursion.
:
Kod: Markera allt
find /home/martin/Hämtningar -prune -o -name -exec rm '{}' pdf ';'