I am trying to replace all spaces in a csv file by commas.
The command
sed -i .bac ’s/\ /\,/g’ test.csv
does work in the OSX terminal, but not in the follwing script:
#!/usr/bin/env zsh
sed -i .bac ’s/\ /\,/g’ test.csv
sed ’s/\;//’ test.csv
i=0
while ((i<10))
do
((i=i+1))
sed -i .bac ’s/,,/,/g’ test.csv
done
rm *.bac
Terminal output:
./getEnergyLevels.sh
sed: 1: "’s/ /,/g’": invalid command code ?
sed: 1: "’s/;//’": invalid command code ?
sed: 1: "’s/,,/,/g’": invalid command code ?
sed: 1: "’s/,,/,/g’": invalid command code ?
sed: 1: "’s/,,/,/g’": invalid command code ?
sed: 1: "’s/,,/,/g’": invalid command code ?
sed: 1: "’s/,,/,/g’": invalid command code ?
sed: 1: "’s/,,/,/g’": invalid command code ?
sed: 1: "’s/,,/,/g’": invalid command code ?
sed: 1: "’s/,,/,/g’": invalid command code ?
sed: 1: "’s/,,/,/g’": invalid command code ?
sed: 1: "’s/,,/,/g’": invalid command code ?
./getEnergyLevels.sh:10: no matches found: *.bac
Any Ideas?
use normal apostrophes, i.e.,
sed -i .bac 's/\ /\,/g' test.csv
instead of the right single quotation mark (U+2019)
sed -i .bac ’s/\ /\,/g’ test.csv