相关疑难解决方法(0)

仅当匹配构成整个单词时,我如何才能查找和替换?

我的脚本是:

n="y"
while [ "{n}" = "y" ]
if [ $n == "n" ];
then
  break;
fi
echo "n is $n"
do
        read -p "Enter the word to find = " word
        read -p "Enter word to replace = " replace
        echo "$word n $replace"
        #sed -i r.text.bak 's/$word/$replace/g' r.txt
        sed -i "s/$word/$replace/g" "test.txt"
echo "do you have further replacement? n or y"
read temp
n=$temp
done
Run Code Online (Sandbox Code Playgroud)

我的问题是我也在替换部分匹配。例如,对于这样的一行:

1.1.1.14 1.1.1.14567
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

1.1.1.3  1.1.1.3567
Run Code Online (Sandbox Code Playgroud)

但我预计:

1.1.1.3 1.1.1.14567
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

sed shell-script text-processing regular-expression

5
推荐指数
1
解决办法
1万
查看次数