[Debian] Argument list too long

Pagina: 1
Acties:
  • 258 views sinds 30-01-2008

  • Neowize1
  • Registratie: Februari 2004
  • Laatst online: 26-01 12:57
Ik heb een debianservertje waarop ik remote werk in de shell. Het probleem is.. Mijn lieve broertje heeft een scriptje gemaakt die bestandjes aanmaakt. Van dit scripje heeft hij een cronjob gemaakt.
Resultaat:
In mijn roots homedir (/root) staan nu allejekus veel bestandjes. :(
Alle bestandjes beginnen met minut en dan een cijfer erachter.
Dus het commando wat ik gebruikte was:

rm minut*

Dit werkt niet, na het uitvoeren van het commando krijg ik de fout:

-bash: /bin/rm: Argument list too long

Help! Hoe los ik dit op? (heeft dit misschien iets met de ARG_MAX) variabele te maken?

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Gebruik xargs.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • mvdejong
  • Registratie: Juni 2000
  • Laatst online: 29-11-2024

mvdejong

When does the hurting stop ?

code:
1
2
3
4
ls | grep '^minut' | while read FILE
do
        rm ${FILE}
done

[ Voor 8% gewijzigd door mvdejong op 16-11-2005 17:30 . Reden: Sorry, nog niet helemaal juist ]

The number of things that Arthur couldn't believe he was seeing was fairly large


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Dat gaat ook niet dezelfde fout opleveren ofzo :X

Nou vooruit, een uitleg.

Bash kan maar een bepaald aantal argumenten aan, die hij vervolgens doorgeeft aan het te starten proces. Het is dus je shell die de fout geeft, en die blijft dus terugkeren, ongeacht het proces dat je wil opstarten: rm of ls.

xargs kan dus hiermee omgaan: zie eerste of tweede hit google.

[ Voor 77% gewijzigd door kenneth op 16-11-2005 17:31 ]

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • mvdejong
  • Registratie: Juni 2000
  • Laatst online: 29-11-2024

mvdejong

When does the hurting stop ?

kenneth schreef op woensdag 16 november 2005 @ 17:29:
Dat gaat ook niet dezelfde fout opleveren ofzo :X
'k Had 'm ook al gezien 8)7

The number of things that Arthur couldn't believe he was seeing was fairly large


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

En zo'n vage grep constructie is wel heel vaag. Gebruik een hamer voor spijkers, geen baco, zou ik zeggen :)

find, xargs zijn je vrienden.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • Neowize1
  • Registratie: Februari 2004
  • Laatst online: 26-01 12:57
kenneth schreef op woensdag 16 november 2005 @ 17:29:
Bash kan maar een bepaald aantal argumenten aan
Is toch niet Bash, maar de kernel?

Maargoed, probleem is opgelost met xargs, Thanx!

oplossing:
ls | xargs rm

Verwijderd

Hoe werken die xargs dan precies?

Ik heb dit probleem namelijk ook.

rm *.pdf geeft de melding "Argument list too long"

Hoe zou ik dit kunnen tackelen?

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

Google.

Maar OK:

find . -name \*.pdf | xargs rm -f

Waarschuwing, dit neemt alle subdirectories ook mee!

Kijk naar de optie -maxdepth voor find als je dit niet wil.

We are pentium of borg. Division is futile. You will be approximated.


  • Pim.
  • Registratie: Mei 2001
  • Laatst online: 16-08-2025

Pim.

Aut viam inveniam, aut faciam

Komt bijna in aanmerking voor de grootste kick van het jaar.
Dat plus het gebrek aan inzet maakt het een gesloten boek... draad.... topic... whatever !

"The trouble with quotes from the Internet is that you can never know if they are genuine." - Elvis Presley | Niet met me eens ? DM ME

Pagina: 1

Dit topic is gesloten.