我希望将a'替换为à,将e'替换为è等,将其替换为具有如下脚本的文件:
#!/bin/sh
if [ -e "$1" ]
then
sed 's/a'/\à/g' -i "$1";
sed 's/e'/\è/g' -i "$1";
sed 's/i'/\ì/g' -i "$1";
sed 's/o'/\ò/g' -i "$1";
sed 's/u'/\ù/g' -i "$1";
else
echo "File not found!"
fi但我知道这个错误:
Syntax error: Unterminated quoted string
我不知道怎么写'
发布于 2014-01-25 13:06:42
是的,有语法问题,请尝试如下所示的sed命令:
sed -i "s/a'/à/g" "$1"
sed -i "s/e'/è/g" "$1"
sed -i "s/i'/ì/g" "$1"
sed -i "s/o'/ò/g" "$1"
sed -i "s/u'/ù/g" "$1"问题是您使用的是嵌套单引号(在代码中引用)。
发布于 2014-01-25 13:08:24
退出单引号,然后放入转义引号,然后启动另一个单引号字符串:
sed 's/a'\''/\à/g' -i "$1"发布于 2014-01-25 14:38:10
awk '{ gsub(/e'\''/,"è"); print}' "$1"https://stackoverflow.com/questions/21350922
复制相似问题