Portál AbcLinuxu, 9. května 2025 00:26

Dotaz: Nefunkční smazání složky

22.4.2014 14:08 TrueFriend | skóre: 2
Nefunkční smazání složky
Přečteno: 189×
Odpovědět | Admin
Dobrý den. Může mi někdo poradit? Mám sh script pro smazání složky ale nefunguje mi.

cd /system/appdata for filename in *tar.gz ; do echo /data/data/$filename|rev|cut -d"." -f3-|rev done

for filename in /system/appdata/*tar.gz ; do su|rm -rf /data/data/$filename|rev|cut -d"." -f3-|rev done

Script má prohledat složku a podle názvu nalezených souborů vymaže jinde složky se stejným názvem bez pripony. Ale složky pořád zůstávají. Příkaz echo cestu i se souborem bezchybně vypíše. Podivné je že pokud zadám cestu z echa přímo rm -tf /data/data/NazevSlozkouboru tak se složka smaže. Přidání uvozovek také nic neřeší. Poradí mi někdo jak mohu toto vyřešit asi jinak? Díky

Řešení dotazu:


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

Odpovědi

22.4.2014 14:40 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Nefunkční smazání složky
Odpovědět | | Sbalit | Link | Blokovat | Admin
Uh. Máš v tom nejaký chaos.

"su" nepíše na štandardný výstup, "rm" nečíta štandardný vstup a teda presmerovanie "su | rm" nemá zmysel a rm nepíše na štandardný výstup a teda jeho presmerovanie do rev nemá zmysel ...

čo tak niečo ako:
for filename in /system/appdata/*.tar.gz 
do
  rm -rf ${filename%.tar.gz}
done
P.S.: neber to, ako hotové riešenie. Prv než to použiješ, by si tomu mal rozumieť.
Řešení 1× (Petr)
KrisKo avatar 22.4.2014 14:59 KrisKo | skóre: 20
Rozbalit Rozbalit vše Re: Nefunkční smazání složky
Odpovědět | | Sbalit | Link | Blokovat | Admin
alebo mozes pouzit priamo find:

find . -type f -name "*.tar.gz" -exec rm -f {} \;
https://krisko210.blogspot.com

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.