lunedì 16 maggio 2011

Mai più senza Underscore

Salve!



Stanotte vi parlo di un problema noto.

Prima ancora di proferire parole (inutili), faccio un esempio.

Apro il terminale e mi sposto nella cartella Documenti

$ cd Documenti

Per vederne il contenuto, lancio

$ ls

Viene fuori questo:

Firewall in linux.pdf  La tabellina del quarantasette.txt
incontriamoci.pdf      paura

 Voglio dare un'occhiata al contenuto del documento di testo; perciò scrivo cat e poi, per semplificarmi la vita, vado a copiare il nome lungo

$ cat la tabellina del quarantasette.txt

dò invio ed ho questa spiacevole sorpresa

cat: La: No such file or directory
cat: tabellina: No such file or directory
cat: del: No such file or directory
cat: quarantasette.txt: No such file or directory

Vabbè, niente di nuovo; si sa che il terminale non accetta nomi con gli spazi. In questo caso avrei dovuto mettere il nome del file tra gli apici. Una vera seccatura.

Ecco, così:

cat 'La tabellina del quarantasette.txt'

Mi sono così ripromesso che da oggi, quando nomino un file, di qualsiasi genere, al posto degli spazi utilizzerò l'underscore (qui), cioè il trattino basso, in modo da concatenare le parole ed evitare di mettere i nomi lunghi tra gli apici.

E per i file già esistenti?

Per quelli userò rename.

Altro esempio.

Mio cugino, il cantante di famiglia, ha pubblicato un cd dal titolo TOB

Ovviamente ho scaricato le canzoni sulla mia scrivania nel formato mp3. :D

Ecco come si presentava l'album:


Per eliminare gli spazi tra le parole ed aggiungere l'underscore ho fatto così:

Sono andato nella cartella tob

$ cd Scrivania/tob

e ho lanciato la seguente riga di comando

$ rename 's/ /_/g' *.mp3

Ecco cosa è avvenuto:


In sintesi, per eliminare gli spazi dal nome di qualsiasi file e sostituirli con gli underscore, bisogna andare nella cartella in cui  sono contenuti e lanciare la riga di cui sopra, senza dimenticare di cambiare l'estensione a secondo dei casi (*.txt, *.pdf, *.png, *.png, etc).

Ora  ascolterò l'album di mio cugino con Sox (qui), senza preoccuparmi di apici, spazi e compagnia bella. :D

Ciao :)

4 commenti:

  1. L'Underscore è sempre valido, anzi su sitemi Linux è giusto usarlo! Io ogni singolo file lo creo con l'underscore.

    Da terminale se vuoi leggere un file contenenti gli spazi, oltre ad usare gli apici, puoi fare così.

    $ cat La\

    e dopo dai un TAB così lui ti farà l'autocompletamento del testo, così da completare il nome del file in questo modo:

    $ cat La\ tabellina\ del\ quarantasette.txt

    Ma se converti blank2underscore è meglio e TUX ti ringrazierà per questo :). Oltre a rename ti ricordo che c'è detox.

    RispondiElimina
  2. @Lightuono
    Grazie per il contributo. :D :D

    RispondiElimina
  3. Ciao luigi volevo segnalarti questo programma(argomento off topic)
    http://code.google.com/p/trash-cli/

    il cestino disponibile da terminale:
    cancellazione di un file:
    trash nome-file
    elenco dei file presenti nel cestino
    list-trash o trash-list
    per recuperare un documento:
    restore-trash
    e scegliere premendo il relativo numero, l'elemento da ripristinare, cosa ne pensi ?

    RispondiElimina
  4. @Aniello
    Sei stato troppo gentile :))
    Da come lo descrivi sembra buono
    Stasera lo provo. Grazie

    RispondiElimina