Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481

    un aiuto per un comando find articolato

    Ciao,
    non sono una cima con find, ringrazio anticipatamente se qualcuno può darmi un aiuto.

    Ho la necessità di cancellare tutti file SOLO in certe directory

    esempio

    /home/pippo/ffdfewr/directory1/sub/
    /home/pippo/gtr45/directory1/sub/
    /home/pippo/kkuTT/directory1/sub/
    /home/pippo/bs332/directory1/sub/

    come faccio a scrivere un find che mi va a cancellare solo i file che sono contenuti nelle directory terminali sub dentro tutte le cartelle directory1 solo nella home directory dell'utente pippo??

  2. #2
    Utente di HTML.it L'avatar di McGuolo
    Registrato dal
    Dec 2002
    Messaggi
    119
    Perche' devi usare per forza find? Potresti usare una cosa del genere:
    codice:
    cd /home/pippo
    for n in 'ls'; do rm $n/directory1/sub/*; done
    le virgolette che racchiudono ls non sono quelle normali, ma quelle inverse (altGr+'), ma purtroppo sotto windows non riesco a farle. :rollo:
    Nemmeno il cuore sembra darsi piu' tanto affanno...

  3. #3
    Utente di HTML.it L'avatar di moskitoita
    Registrato dal
    Feb 2004
    Messaggi
    1,255
    rm /home/pippo/*/directory1/sub/*
    "Aiuterò le forze dell'ordine a sventrare eventuali truffatori, eventuali assassini che abbiano utilizzato l'informatica per fini malvagi"

    Salvatore Aranzulla, 15 Aprile 2007, cognome&nome, La7

  4. #4
    Utente di HTML.it L'avatar di McGuolo
    Registrato dal
    Dec 2002
    Messaggi
    119
    Originariamente inviato da moskitoita
    rm /home/pippo/*/directory1/sub/*
    In effetti....
    Nemmeno il cuore sembra darsi piu' tanto affanno...

  5. #5
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da moskitoita
    rm /home/pippo/*/directory1/sub/*
    Cavolo!! Non sapevo si potessero usare i caratteri jolly così! E' una figata! Grazie mille!!

  6. #6
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    purtroppo i file sono troppi, rm non riesce ad eliminarli, devo fare con find -exec, posso usare i caratteri jolly anche sul percorso di find?

  7. #7
    Utente di HTML.it L'avatar di moskitoita
    Registrato dal
    Feb 2004
    Messaggi
    1,255
    Troppi file per rm? Scusa che errore ti da?
    "Aiuterò le forze dell'ordine a sventrare eventuali truffatori, eventuali assassini che abbiano utilizzato l'informatica per fini malvagi"

    Salvatore Aranzulla, 15 Aprile 2007, cognome&nome, La7

  8. #8
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da moskitoita
    Troppi file per rm? Scusa che errore ti da?
    argumento too long, mi è già successo, capita quando la directory contiene troppi file e il comando rm, mv ecc non riescono a farlo, quindi bisogna usare uno script con un for, di modo che l'azione venga effettuata sul singolo file, o con il find -exec rm , che è la stessa cosa

  9. #9
    codice:
    find /home/pippo/*/directory1/sub/* -exec rm -v {} \;
    Ti ricordo che cosi` elimini solo i file regolari. Ovvero nessun file "nascosto" (.dotted) e nessuna subdirectory verra` rimossa.

    Se vuoi rimuovere anche i file .dotted

    codice:
    find /home/pippo/*/directory1/sub/{[!.],.[!.],..?}* -prune -exec rm -v {} \;
    Se vuoi rimuovere tutti i file e tutte le directory

    codice:
    find /home/pippo/*/directory1/sub/{[!.],.[!.],..?}* -prune -exec rm -rfv {} \;
    Se ti interessa saperne di piu` sulle brace expansion
    http://www.openclose.it/wiki/?qq=com...ctory_nascoste
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  10. #10
    Utente di HTML.it L'avatar di james
    Registrato dal
    Jun 2002
    Messaggi
    1,481
    Originariamente inviato da Mutato
    codice:
    find /home/pippo/*/directory1/sub/* -exec rm -v {} \;
    Ti ricordo che cosi` elimini solo i file regolari. Ovvero nessun file "nascosto" (.dotted) e nessuna subdirectory verra` rimossa.

    Se vuoi rimuovere anche i file .dotted

    codice:
    find /home/pippo/*/directory1/sub/{[!.],.[!.],..?}* -prune -exec rm -v {} \;
    Se vuoi rimuovere tutti i file e tutte le directory

    codice:
    find /home/pippo/*/directory1/sub/{[!.],.[!.],..?}* -prune -exec rm -rfv {} \;
    Se ti interessa saperne di piu` sulle brace expansion
    http://www.openclose.it/wiki/?qq=com...ctory_nascoste
    Grazie mille!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.