[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