to execute /bin/rm: Argument list too long

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
delcadro
Sędziwy Jeż
Sędziwy Jeż
Posty: 63
Rejestracja: 11 wrz 2006, 00:13
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

[SOLVED] to execute /bin/rm: Argument list too long

Post autor: delcadro »

kiedy wpisuje

Kod: Zaznacz cały

rm `find -iname *.gif`
lub

Kod: Zaznacz cały

echo -e `find -iname *.gif` | rm
pojawia się błąd

Kod: Zaznacz cały

unable to execute /bin/rm: Argument list too long

Więc spróbowałem

Kod: Zaznacz cały

find -iname *.gif | rm 

Niestety powyższe już zupełnie nie odpowiada.

Jak mam poprawić drugą funkcję ??
::::::::::: Delcadro::::::::::::
verdorben
Wytworny Kaczor
Wytworny Kaczor
Posty: 470
Rejestracja: 30 mar 2009, 18:00
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: ARM

Odp: to execute /bin/rm: Argument list too long

Post autor: verdorben »

find . -name "*.gif" -exec rm {} \;
find . -name "*.gif" | xargs -r rm
perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'
Inny OS: PLD Linux
Awatar użytkownika
beluosus
Zakręcona Traszka
Zakręcona Traszka
Posty: 695
Rejestracja: 01 paź 2006, 15:32
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86
Kontakt:

Odp: to execute /bin/rm: Argument list too long

Post autor: beluosus »

Kod: Zaznacz cały

find ... -delete
Kurs Linuksa: for i in $(ls /bin); do man $i; done
__________________
http://beluosus.pl/
delcadro
Sędziwy Jeż
Sędziwy Jeż
Posty: 63
Rejestracja: 11 wrz 2006, 00:13
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: to execute /bin/rm: Argument list too long

Post autor: delcadro »

Dzięki działa.

Co oznacza zapis:

Kod: Zaznacz cały

{} \;
?
::::::::::: Delcadro::::::::::::
Awatar użytkownika
beluosus
Zakręcona Traszka
Zakręcona Traszka
Posty: 695
Rejestracja: 01 paź 2006, 15:32
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86
Kontakt:

Odp: to execute /bin/rm: Argument list too long

Post autor: beluosus »

Kod: Zaznacz cały

[15:50:33];> man find | grep -3 {}
   AKCJE
       -exec polecenie ;
              Wykonuje polecenie; prawdziwe jeśli zwrócony został status 0. Wszelkie następne argumenty find są brane
              za  argumenty  polecenia,  aż  nie zostanie napotkany argument, składający się z `;'. Łańcuch `{}' jest
              podmieniany na obecnie przetwarzaną nazwę pliku.  Obydwie te konstrukcje być może będą  wymagały  wycy-
              towania  (znakiem  `\')  aby  uchronić je przed rozwinięciem przez powłokę. Polecenie jest wykonywane w
              katalogu startowym.
Backslash musi być przed średnikiem żeby nie został zinterpretowany jako koniec polecenia tylko jako koniec argumentu nazwy pliku. Równie dobrze można napisać:

Kod: Zaznacz cały

find ... {} ";"
Kurs Linuksa: for i in $(ls /bin); do man $i; done
__________________
http://beluosus.pl/
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 10 gości