Tiedostojen poisto-ongelma "Argument list too long"

Anonyymi-ap

Yritän poistaa tiedostot joiden nimessä on "Simpsons".

$ rm *Simpsons*
bash: /usr/bin/rm: Argument list too long

$ rm -f *Simpsons*
bash: /usr/bin/rm: Argument list too long

$ sudo rm -f *Simpsons*
bash: /usr/bin/sudo: Argument list too long

Ei tunnu onnistuvan.

21

193

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Myös "ls" valittaa samaa, kun yrittää käyttää jokerimerkkiä.

      $ ls | wc -l
      45379

      ls *Simpsons* | wc -l
      bash: /usr/bin/ls: Argument list too long
      0

    • Anonyymi

      Hienoa pojat, itsensä kehittäminen ja järjestelmänsä tunteminen on asioita joissa haluan vain kannustaa eteenpäin. Tunnen tämän ongelman, mutten halua viedä keneltäkään sitä onnistumisen iloa minkä juuri tämän ratkaisu antaa.

      Onkin jo paljon aikaa edellisestä yhtä hienosta avauksesta.

      • Anonyymi

        $ find . -name "*Simpsons*" -print0 | xargs -0 rm

        Tuommoinen toimi.


      • Anonyymi

        Sen siitä saa kun täyttää kovalevyn sekalaisella roskalla.


      • Anonyymi
        Anonyymi kirjoitti:

        $ find . -name "*Simpsons*" -print0 | xargs -0 rm

        Tuommoinen toimi.

        Onneksi on Windows niin ei tarvitse saakeli tiedostojen poistamiseen mitään kryptisiä komentoja.

        HOHHOIJJAAAAH!


      • Anonyymi
        Anonyymi kirjoitti:

        Sen siitä saa kun täyttää kovalevyn sekalaisella roskalla.

        Nooh videoita editoidessa syntyy frameja.


      • Anonyymi
        Anonyymi kirjoitti:

        $ find . -name "*Simpsons*" -print0 | xargs -0 rm

        Tuommoinen toimi.

        Kyllä, se toimii, mutta uskaltaskohan tuohon rm -komentoon lisätä automaattista kuittausta mukaan kun nyt käsitellään hyvin suurta ryhmää nimikkeitä.


      • Anonyymi
        Anonyymi kirjoitti:

        Onneksi on Windows niin ei tarvitse saakeli tiedostojen poistamiseen mitään kryptisiä komentoja.

        HOHHOIJJAAAAH!

        EI TARVITA LINUXISSAKAAN! Jotkut vaan haluaa tehdä juttuja vaikeamman kautta.


    • Anonyymi

      Tuo find -komennon käyttäminen on hidas tapa hakea tiedostoja, kuinkahan tuo ratkaistaisiin ilman find -komentoa.

    • Anonyymi

      Ongelma johtuu bash:sta, joka täydentää tuon tähti-merkin ansiosta komentorivin automaattisesti, eli jos hakemistossa on tiedostot f1,f2 ja f3 ja annat komennon:
      $ rm ./f*
      Täydentää komentotulkki tuon komennoksi 'rm ./f1 ./f2 ./f3'. Komennon pituus taas rajoittuu ARG_MAX:n mukaan:
      $ getconf ARG_MAX
      2097152
      -Kertoo, että parametrien maksimipituus on n. 2 megatavua. Em. muuttuja on määritelty POSIX.1-standardissa ja sen muuttaminen vaatisi itse asiassa kaikkien komentoriviä käyttävien ohjelmien uudelleen kääntämistä - mikäli ymmärsin oikein.
      Saat komennon toimimaan välttämällä argumenttien täydennyksen käyttöä, esim.
      $ rm /path/to/Simpsons/
      Tuo find ei ole erityisen hidas vaikka sen heikko puoli onkin se, että tiedostot haetaan vasta komennon jälkeen - eli suoraan levyltä nykytilanteen mukaisesti. Vaihtoehto on käyttää locate-komentoa ja sen updatedb:ta, joka päivittää hakemistorakenteen tietokantaan ja toimii tämän jälkeen nopeasti. Huono puoli on kuitenkin se, että tietokanta vanhenee ja sitä pitää päivittää aina välillä.

      • Anonyymi

        Koska kyseessä on bash:n ongelma, mikä näkyy error-viestin alusta, sitä voi näköjään säätää ulimit-komennolla eli:
        $ ulimit -S -s unlimited
        Tämän jälkeen bash käyttää hiukan isompaa pinoa käsitellessään tiedostonimiä ja komento itse asiassa voi onnistua.


    • Anonyymi

      ihme kun ei ilmoittanut: "Insufficient memory to complete operation requested".

    • Anonyymi

      Etkö osaa poistaa graafisella tilalla? voi voi..

    • Anonyymi

      Avaa Tiedotot ja laita hakusanasi hakukohtaan ja likkaa suurennuslasia tai paina entter...

      Päätettä ei tarvita!

      • Anonyymi

        Tiedotot?

        Herrajumala, mitä siitä tulisi jos sinä joutuisit konetta käskyttämään kirjoittamalla.


      • Anonyymi

        Ubuttaja hei, ihanko itse kirjoitit?

        "Enter" EI entter


    • Anonyymi

      Asensin Max Paynea koneessa, jossa 24gb muistia.
      Sain jotain insufficient memory höpinää.
      Wintoos ei vain toimi.

    • Anonyymi

      Kauheita virheitä komennossa!

    • Anonyymi

      rm -v *homer*

    • Anonyymi

      No mutta, olipa hyvä ja asiapitoinen ketju, pistänpä pienen pähkinän, jonka vain terävin osaajien kärki pystyy selittämään.

      >>> bind '"\e[18~":"date \n"'

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mihin kaivattusi

      Ja sinun juttusi kaatui?
      Ikävä
      185
      8529
    2. En löydä sinua

      En löydä sinua täältä, etkä sinä varmaankaan minua. Ennen kirjoitin selkeillä tunnisteilla, nyt jätän ne pois. Varmaan k
      Ikävä
      26
      4618
    3. Ketä julkkista

      kaivattunne muistuttaa?
      Ikävä
      50
      4178
    4. Tunniste

      Jonka vain sinä ja kaivattusi tietää. ⬇️
      Ikävä
      59
      3712
    5. Opettelen sun jokaisen virheen

      ja rakastan sua.
      Ikävä
      51
      3186
    6. Miten, milloin

      Se onnistuisi sun luona
      Ikävä
      50
      2940
    7. Ne oli ne hymyt

      Mitä vaihdettiin. Siksi mulla on taas niin järjetön ikävä. Jos haluat musta eroon päästä niin älä huomioi mua. Muuten kä
      Ikävä
      26
      2646
    8. Haluan huomiota sulta

      nainen…tiedoksi. 😥❤️ -M-
      Ikävä
      42
      2436
    9. Anteeksi kun käyttäydyn

      niin ristiriitaisesti. Mä en usko että haluaisit minusta mitään, hyvässä tapauksessa olet unohtanut minut. Ja silti toiv
      Ikävä
      38
      2143
    10. Mitä haluat oikeasti

      Mun ymmärtävän? Sitäkö ettet rakasta ja ole valmis mihinkään?
      Ikävä
      29
      2086
    Aihe