塞拉利昂10.12.3 sed的:看不懂......错误
问题描述:
我不明白为什么我的旧脚本以前好了,今天没上班。塞拉利昂10.12.3 sed的:看不懂......错误
myscript.sh:
...
export LC_CTYPE=C
export LANG=C
# Delete all lignes begining by ' "Doc '
sed -i "" '/^"Docteur /d' $1
...
当我运行./myscript.sh myfiletotreat.csv
我得到这个消息:
sed: can't read /^"Docteur /d: No such file or directory
答
的OP的本地BSDsed
执行(MACOS附带)正被遮挡的后来GNUsed
安装,其-i
语法不同,导致错误引用。
调用原生BSD sed
与/usr/bin/sed
是一个快速的解决方法,但更好的方法是根本不影响本地实用程序。
它看起来像MacOS的默认BSD实现sed'的'是由_GNU_'sed',其'-i'语法不同,这会导致你看到的错误阴影。用'/ usr/bin/sed'试试看。 – mklement0
顺便说一句:为了确保您的脚本还与包含有特殊意义的壳字符,如空格的文件名,则应更换'$ 1'和'“$ 1”'。 – mklement0
太好了!这再次工作。非常感谢你帮助我。 –