bash - 文本替换 bash 脚本

标签 bash shell replace substitution

我想将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/

相关文章:

eclipse - 如何在 Eclipse 中搜索并替换 2 行(一起)?

bash - grep -w 查找包含非拉丁字母的单词的部分匹配

linux - If语句在shell脚本中抛出意外的文件结尾

linux - 将运行时日志存储在文件夹中

linux - 无法通过 sh 脚本创建数字目录

python - 使用 bash 或 python 将路由器配置文件转换为 csv

javascript - 剪切并替换 JavaScript 字符串

bash - 在带有函数的 bash 中使用 set -e/set +e

linux - 将不同文件夹中的 .gz 文件解压缩并将它们组合成一个文件

java - 替换 fragment 时出现 NullpointerException