Portál AbcLinuxu, 26. července 2025 10:58


Dotaz: smaz vse krome 1 souboru

26.5.2009 13:17 tascoa | skóre: 11
smaz vse krome 1 souboru
Přečteno: 567×
Odpovědět | Admin

Jak v aktualnim adresari smazu vsechno z jeho podadresaru krom jednoho urciteho souboru? Jde nejak prepnou prikaz rm? Poradi nekdo? Diky.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

26.5.2009 13:27 l4m4
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
a) find . ... | filtr... | xargs rm

b) přesunout ten jeden soubor jinam, smazat vše, přesunout zpět
26.5.2009 13:32 nejsem | skóre: 14 | blog: nejsem
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin

rm `ls | grep -v NAZEV`

kde nazev muze byt i casti nazvu...

------------------------------- A vy snad těm počítačům věříte?
26.5.2009 14:10 cronin | skóre: 49
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Myslim, ze ziadne rury, filtre, xargs ani rm nie su potreba. Uplne na vsetko v zadanej ulohe - vratane zmazania - postaci find.
26.5.2009 14:14 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Až na to, že z uvedených způsobů to findem bude pravděpodobně trvat nejdéle.
Quando omni flunkus moritati
26.5.2009 14:34 cronin | skóre: 49
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Som presvedceny o opaku; dokazujuc to samozrejme rovnakym mnozstvom argumentov ako Ty. :-D
26.5.2009 14:35 l4m4
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
rm bez xargs ve findu => nový proces po každé smazání souboru.

A teď ty tvoje...
26.5.2009 14:57 cronin | skóre: 49
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Ak som vravel ze to ide bez rm, tym som myslel -delete; takze ziadny exec, ziadna rura, jediny proces. Teraz to Tvoje. :-)

Navyse, vacsina vyssie uvedenych rieseni nebude fungovat pre velky pocet suborov alebo pre subory s medzerami.
26.5.2009 14:36 nejsem | skóre: 14 | blog: nejsem
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru

find bude trvat nejdele snad vzdycky - pri velkem obsahu adresare bude pracovat pomaleji, pri malem obsahu adresare bude zdrzovat vypisovani celeho prikazu, IMHO...

------------------------------- A vy snad těm počítačům věříte?
26.5.2009 15:00 cronin | skóre: 49
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Ako inak ak nie find-om? Upozornujem ze povodny dotaz obsahoval poziadavku mazat subory z podadresarov, takze Tvoje vyssie uvedene riesenie problem vobec neriesi a debata o tom, ako je rychle je teda irelevantna.
26.5.2009 15:53 nejsem | skóre: 14 | blog: nejsem
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru

ach, nevsimnl jsem si podadresaru - chyba u me

------------------------------- A vy snad těm počítačům věříte?
26.5.2009 19:47 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Nejjednodušší je skutečně daný soubor (soubory) někam schovat, pak smazat vše, pak to schované vrátit. A je to i nejrychlejší, protože se neprovádí žádné testy na názvy souborů ;)
In Ada the typical infinite loop would normally be terminated by detonation.
26.5.2009 20:57 cronin | skóre: 49
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Pragmaticky vzate: ano. V 95 percentach pripadov to bude fungovat. Vo zvysnych piatich percentach nastanu okrajove problemy: bud nebude mozne subor docasne odlozit inam, alebo to zlyha na neatomickosti celej operacie, kedy sa to cele pobabre potom, ako sa subor odlozi, ale predtym, ako sa vrati nazad, alebo odlozenie a vratenie bude znamenat dvoje kopirovanie, lebo pracovny adresar je mount point, alebo nieco ine. To ale musi zvazit opytujuci sa.
27.5.2009 07:25 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Teoreticky ho nemusíte odkládat nebo přesouvat, stačilo by udělat hardlink. Napadl mě ještě jeden důvod pro tento přístup: je to IMHO bezpečnější. Před spuštěním krkolomného findu musíte mít jistotu že Váš filtr ten soubor nesmaže, takhle máte naopak jistotu, že je v bezpečí.
In Ada the typical infinite loop would normally be terminated by detonation.
27.5.2009 13:24 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
stačilo by udělat hardlink
Tak si taky rýpnu :-) - pokud mažu z kořenového adresáře disku (myslím vůči mount-pointu), tak není kam ten hardlink udělat.
I am always ready to learn although I do not always like to be taught. (W. Churchill)
27.5.2009 14:29 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Tak ho neuděláte, uděláte tedy kopii někam jinam.
In Ada the typical infinite loop would normally be terminated by detonation.
27.5.2009 21:18 cronin | skóre: 49
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Ak ma ten subor 1kB, je to v pohode. Ak ma 1GB, tak to sa asi radsej pohram s tym find-om. Trvam na tom, co som napisal vyssie: v 95% pripadov je odlozenie suboru OK, ale vzdy sa da bez vacsej namahy najst riesenie, ked to OK nie je.
28.5.2009 06:54 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: smaz vse krome 1 souboru
Pokud by měl 1 GB, tak bych už tuplem dělal kopie, protože bych nechtěl o tolik dat přijít :-)
In Ada the typical infinite loop would normally be terminated by detonation.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.