Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    323

    Bash: leggere file in una directory

    Ciao,
    dovrei creare sh che legge tutti i file contenuti in una directory. In questo ciclo che legge poi dovrei eseguirci delle operazioni per cui necessito del nome del file che sta in esame.
    Qualcuno sa come fare?

    In prartica una cosa del genere:

    Per ogni file nella directory{
    nome del file
    }

    Grazie.
    Peppe
    someone told me
    love would all save us
    but how can that be
    look what love gave us

  2. #2
    Dovresti poterlo fare con qualcosa di simile:

    codice:
    #!/bin/bash
    for files in *
    do
      echo $files
    done
    se poi ti servono solo estensioni o patter particolari basta cambiare il for, per esempio:

    codice:
    for files in *.zip
    bye
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    323
    Grazie gentilissimo
    someone told me
    love would all save us
    but how can that be
    look what love gave us

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    323
    Conosci per caso una funzione per togliere a $file l'estesione?
    Un substring o qualcosa del genere?
    someone told me
    love would all save us
    but how can that be
    look what love gave us

  5. #5
    Certo, qui sotto c'è l'esempio.
    A questo indirizzo puoi trovare una guida/reference ottima (in inglese) sullo scipting in bash: http://www.tldp.org/LDP/abs/html/

    codice:
    ${files#".zip"}
    Qui http://www.tldp.org/LDP/abs/html/refcards.html#AEN19003 la tabella riassuntiva delle operazioni sulle stringhe.
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  6. #6
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    Originariamente inviato da GreyFox86
    codice:
    ${files#".zip"}
    Ti sei scordato di verificare quanto dici.
    E più corretto questo:
    codice:
    [cacao74@tweety ~]$ filename="nomefile.ext"
    [cacao74@tweety ~]$ echo ${filename%.ext}
    nomefile
    ciao
    slack? smack!

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    323
    Grazie a tutti...
    tutto risolto....
    2600 file rtf zippati in 2600 diversi file .zip
    sono ora dei txt

    Grazie

    Codice PHP:
    #!/bin/bash
    for files in *
    do
      
    unzip  $files
      mv 
    *.rtf rtf/$files.rtf
    done 
    poi con un programam da windows li ho convertiti... ma il più era questo
    someone told me
    love would all save us
    but how can that be
    look what love gave us

  8. #8
    Originariamente inviato da cacao74
    Ti sei scordato di verificare quanto dici.
    E più corretto questo:
    codice:
    [cacao74@tweety ~]$ filename="nomefile.ext"
    [cacao74@tweety ~]$ echo ${filename%.ext}
    nomefile
    ciao
    Accidenti scusatemi ho pensato % ed ho scritto # :P
    Avevo la testa fra le nuvole. Grazie per la correzione.
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

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.