[Linux-Biella] Bash caratteri speciali

Lorenzo Del Vecchio abe001.eu a gmail.com
Lun 31 Ott 2016 15:45:01 CET


Ciao sto scrivendo uno script wav to mp3.
Prendo dai file *.inf il titolo dell'albume e delle tracce per rinominare
cartelle e file.
Purtroppo in alcune stringhe ci sono caratteri speciali che vado a
sostituire per ora sostituisco l'apice e la barra.
Volevo chiedere c'è un modo per non sostituirli senza che il sistema mi dia
errore?
Non posso ogni volta controllare i titoli ed aggiungere sostituzione di
nuovi caratteri!

Grazie

Lorenzo

PS vi posto lo script...


#!/bin/bash

icedax dev=/dev/cdrom -vall cddb=0 -B -Owav
#crea l'array
inffile=($(ls *.inf))
wav=($(ls *.wav))
echo ${inffile[@]}
#Conta l'array
all=${#inffile[@]}
#Decrementa all
let key=all-1
dir=0
check=0
sp=" "
apice="'"
barra="/"
for i in $(seq 0 $key)
do
    # Cerca titolo album e titolo traccia
    album=`grep "Albumtitle" ${inffile[$i]}`
    track=`grep "Tracktitle" ${inffile[$i]}`
    #esplode la stringa in un array secondo il carattere '
    IFS="'" read -r -a albttl <<< "$album"
    IFS="'" read -r -a trttl <<< "$track"
    #Estrae i titoli puliti
    album=${albttl[1]}
    track=${trttl[1]}
    #Sostituisce i caratteri / e '
    track=${track/$apice/$sp}
    track=${track/$barra/$sp}
    #Crea la directory nome= titolo album
    if [ ${dir} == ${check} ]; then
        mkdir "/home/abewayer/Musica/${album}"
        dir=1
    fi
    #Crea mp3
    lame -V2 "${wav[$f]}" "/home/abewayer/Musica/${album}/${track}.mp3"
done
eject
rm -r *.wav
rm -r *.inf
rm -r audio*
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://list.bilug.it/pipermail/linux/attachments/20161031/73de3015/attachment.html>


Maggiori informazioni sulla lista Linux