Codice che dovrebbe togliere lo spazio nel nome di un file e sostituirlo con un undescore:
Codice: Seleziona tutto
#! /bin/bash
for filename in *
do
echo $filename | grep -q " "
if [ $? -eq $FOUND ];
then
fname=$filename
n='echo $fname | sed -e "s/ /_/g"'
mv "$fname" "$n"
fi
echo $fname
done Codice: Seleziona tutto
/home/antonio/scripts/nuovo.sh: riga 5: [: 1: atteso operatore unario
/home/antonio/scripts/nuovo.sh: riga 5: [: 1: atteso operatore unario
/home/antonio/scripts/nuovo.sh: riga 5: [: 1: atteso operatore unario
/home/antonio/scripts/nuovo.sh: riga 5: [: 1: atteso operatore unario
/home/antonio/scripts/nuovo.sh: riga 5: [: 1: atteso operatore unario
/home/antonio/scripts/nuovo.sh: riga 5: [: 0: atteso operatore unario
Usando bash nel terminale.
Qualcuno sa dirmi dove è l'errore....?
