Portál AbcLinuxu, 19. července 2025 09:53


Dotaz: hromadné hledání a mazaní souboru - argument too long

26.6.2017 15:00 Osel
hromadné hledání a mazaní souboru - argument too long
Přečteno: 293×
Odpovědět | Admin
Zdravím Potřebuji najít a zmazat soubory ve kterých se objeví nějaký hledaný text,například smazat všechny soubory ve kterých je text (normálně ASCI čitelnej) "SMAZ-ME" zatím jsem skončil u funkčního

grep -c1 -Z -r SMAZ-ME /mnt/disk-na-kterym-mazu/* |xargs -I {} rm -v -{}

bohužel pokud je souborů hodně (bude jich řádově 10ky a 100ky tisíc) skončím na xargs: argument too long Nenapadá prosím někoho jak na to? Dík

Řešení dotazu:


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

Odpovědi

26.6.2017 15:16 -
Rozbalit Rozbalit vše Re: hromadné hledání a mazaní souboru - argument too long
Odpovědět | | Sbalit | Link | Blokovat | Admin
find . -exec grep SMAZ_ME {} && rm -f {} \;
26.6.2017 16:19 R
Rozbalit Rozbalit vše Re: hromadné hledání a mazaní souboru - argument too long
find: missing argument to `-exec'

To && zoberie shell a cast za nim sa do findu vobec nedostane.
27.6.2017 16:36 Osel
Rozbalit Rozbalit vše Re: hromadné hledání a mazaní souboru - argument too long
Stačilo mi to na to abych s toho udělal funkční

find /kdemazat -type f -exec grep -q "SMAZ-ME" {} \;

Předhodil jsem tomu na noc testovací vzorek cca 1TB dat 640000 souborů a vypadá že to jede.

Díky za otočení spravným směrem.
28.6.2017 08:33 R
Rozbalit Rozbalit vše Re: hromadné hledání a mazaní souboru - argument too long
To ale nemaze. Ked chces mazat, tak dopln nakoniec "-delete". Alebo "-print" na vypisanie.
27.6.2017 15:23 schrapnel | skóre: 8 | Kosice
Rozbalit Rozbalit vše Re: hromadné hledání a mazaní souboru - argument too long
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ak hľadáš len files, ktoré obsahuju nejaký zadaný text, tak snáď možno aj takto:

grep -Rl SMAZ-ME /mnt/disk-na-kterym-mazu/* > ./file

for i in $(cat ./file); do echo rm $i; done | sh -x
27.6.2017 18:24 cronin | skóre: 49
Rozbalit Rozbalit vše Re: hromadné hledání a mazaní souboru - argument too long
... čo skončí presne tou istou chybou: hviezdička v prvom príkaze sa expanduje na zoznam, ktorý je too long.
Jendа avatar 28.6.2017 06:41 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: hromadné hledání a mazaní souboru - argument too long
To nebude fungovat pro soubory s mezerami v názvu (já je nepoužívám, ale když máš soubory od někoho jiného, tak se s tím nějak vypořádat musíš).
Jendа avatar 28.6.2017 06:44 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: hromadné hledání a mazaní souboru - argument too long
(mimochodem pokud ti soubory může podvrhnout zlý útočník, tak ti teď nejspíš může nacpat kdeco do sh)
28.6.2017 07:32 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: hromadné hledání a mazaní souboru - argument too long
Odpovědět | | Sbalit | Link | Blokovat | Admin
Chlapci, naučte se používat uvozovky. Ušetříte si tím hromadu času.

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.