在 OSX bash 脚本上使用 sed
Using sed on OSX bash script
我正在尝试用逗号替换 csv 文件中的所有空格。
命令
sed -i .bac ’s/\ /\,/g’ test.csv
在 OSX 终端中有效,但在以下脚本中无效:
#!/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
终端输出:
./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
有什么想法吗?
使用正常的撇号,即
sed -i .bac 's/\ /\,/g' test.csv
代替右单引号(U+2019)
sed -i .bac ’s/\ /\,/g’ test.csv
我正在尝试用逗号替换 csv 文件中的所有空格。
命令
sed -i .bac ’s/\ /\,/g’ test.csv
在 OSX 终端中有效,但在以下脚本中无效:
#!/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
终端输出:
./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
有什么想法吗?
使用正常的撇号,即
sed -i .bac 's/\ /\,/g' test.csv
代替右单引号(U+2019)
sed -i .bac ’s/\ /\,/g’ test.csv