Come rimuovere i file utilizzando la funzione trova e comando rm?

find -mmin -19 -exec rm '{}'\;

Troverà il file modificato 1 e poi rimuoverli.
ma mi dà errore, come di seguito,
trovare: missing argument `-exec’

Anche provato varie combinazioni, come,

find -mmin -19 -exec rm '{}';\
find -mmin -19 -exec rm '{}'/;
Utilizzare lo spazio per separare i {} e il punto e virgola, e utilizzare + invece del punto e virgola, se non usa la GNU-specifiche -delete opzione.

InformationsquelleAutor PRK | 2015-08-02

2 risposte

  1. 11

    Avete bisogno di spazio tra il comando e \;

    find -mmin -19 -exec rm {} \;

    find già fornire -delete opzione, quindi non c’è bisogno di utilizzare -exec rm ..:

    find -mmin -19 -delete

    -eliminare

    Eliminare i file; vero se la rimozione è riuscito. Se la rimozione non riuscita, un
    messaggio di errore viene emesso. Se -eliminare non riesce a trovare l’uscita di stato
    essere diverso da zero (quando alla fine esce). L’uso di eliminare automaticamente
    si accende la profondità opzione.

    Avvertenze: non dimenticate che l’trovare la riga di comando è valutato come un’
    espressione, in modo da mettere -eliminare prima farà trovare tenta di eliminare
    tutto sotto i punti di partenza specificato. Quando si verifica un
    trovare la riga di comando che in seguito si intende utilizzare per
    -eliminare, si dovrebbe specificare in modo esplicito approfondito al fine di evitare successive sorprese. Perché -eliminare implica profondità, si può utilmente
    utilizzare -potatura e -elimina insieme.

    Ha funzionato. Grazie mille!!
    È sicuro utilizzare la find ./ -type f -iname \*.jpg -delete per eliminare solo jpg file?
    Esso elimina tutti i file jpg nella directory corrente e sub-directory.

    InformationsquelleAutor falsetru

  2. 5

    Ti manca uno spazio fondamentale per separare le parentesi graffe dal punto e virgola.

    find -mmin -19 -exec rm '{}' \;

    ma si tratta della stessa ting, è più facile da digitare, e probabilmente viene eseguita più velocemente.

    find -mmin -19 -delete
    È per me un errore rm: impossibile rimuovere .' or ..’ rm: impossibile rimuovere `./rm1′: È una directory con il comando ls-a . .. rm1
    È impossibile rimuovere la directory non vuota. Se si desidera rimuovere l’intero albero, fare find eseguire profondità di prima.
    aggiungere -not -type d prima exec per evitare questo errore.
    non è possibile rimuovere la directory con un non ricorsiva rm a tutti
    Ma con find -delete è possibile.

    InformationsquelleAutor Jasen

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *