我想将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
但是我得到这个错误:
语法错误:未终止的引用字符串
我不知道怎么写'
最佳答案
是的,有语法问题,试试你的 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"
问题是您使用了嵌套的单引号(代码内的引号)。
关于bash - 文本替换 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21350922/