Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: rm per data

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    57

    rm per data

    Salve ragazzi,

    mi dite, por favor, che comando devo usare per cancellare tutti i file con data 2002 e 2003 presenti in una directory?

    grazie,
    sbn

  2. #2
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345
    Dipende molto dall'output di ls -l non è che potresti incollarci una copia di esso eseguito all'interno di una directory che contenga file del 2002 o del 2003?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    57
    il problema è proprio estrarre tutti i files del 2002 e 2003 xè sono troppi per scriverli tutti a mano (sull'ordine delle centinaia x intenderci)... quindi copiarli usando cp (lista files) o cancellarli con rm (lista files) non fa differenza, se non ho capito male...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    57
    devo fare un file che contiene uno script?

  5. #5
    sopadj1
    Guest
    sono, ancora x ora, ignorante x quando riguarda la programmazione pero' si potrebbe fare 1 cosa del genere

    cancella.sh

    codice:
    #!/bin/bash
    
    
    
    ls -l | grep $1 > file_da_cancellare
    
    # ciclo che non so fare
    
    for i in 'file_da_cancellare' exec rm -rf {} \;
    
    
    rm file_da_cancellare

    gli dai i permessi di esecuzione, e gli passi come argomento la data dei file che vuoi cancellare



    lo so che ho scritto 1 gran cavolata ma penso che il ragionamento sia quello

  6. #6
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345
    Originariamente inviato da Ilmalcom
    Dipende molto dall'output di ls -l non è che potresti incollarci una copia di esso eseguito all'interno di una directory che contenga file del 2002 o del 2003?
    Sono costretto a quotarmi... Se mi fornisci l'output di una riga di ls -l di un file del 2002/2003 posso provare a fare lo script, se no ciccia

    sopadj, credo che tutti apprezzino lo sforzo, ma, senza offesa, forse è bene che studi un altro po' di bash scripting prima

  7. #7
    sopadj1
    Guest
    Originariamente inviato da Ilmalcom
    Sono costretto a quotarmi... Se mi fornisci l'output di una riga di ls -l di un file del 2002/2003 posso provare a fare lo script, se no ciccia

    sopadj, credo che tutti apprezzino lo sforzo, ma, senza offesa, forse è bene che studi un altro po' di bash scripting prima


    cmq io dicevo il ragionamento....

  8. #8
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345
    Al momento mi viene in mente una soluzione del genere, anche se non è ottimale. Spero sia quello che cercavi.
    L'autore declina ogni responsabilità, bla bla bla...

    codice:
    find /path/to/dir -mtime +300 > lista_files.txt
    Con questa istruzione tutti i files che non sono stati modificati negli ultimi 300 giorni vengono outputtati nel file lista_files.txt, così puoi verificare quali sono prima di cancellarli e non rischi di rimuovere qualche file vitale.
    Dopodichè, per cancellare tutti i files a partire dalla lista, puoi utilizzare quest'istruzione...

    codice:
    IFS="\n" for i in `cat lista_files.txt`; do rm -rf "$i"; done

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    57
    eccoti una riga...

    -rw-rw---- 1 zorro23 mail 4414 dic 5 2002 zorro23


    GRAZIE 1000 X L'AIUTO!

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    57
    scusa l'ignoranza in materia bash...ma questo comando:

    IFS="\n" for i in `cat lista_files.txt`; do rm -rf "$i"; done

    dà il seguente errore:

    bash: syntax error near unexpected token `do'

    ....

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 © 2024 vBulletin Solutions, Inc. All rights reserved.