gpt4 book ai didi

linux - 如何根据搜索在文件内容中附加字符串

转载 作者:太空宇宙 更新时间:2023-11-04 04:00:53 24 4
gpt4 key购买 nike

到目前为止,我已经尝试过下面的 unix 脚本来根据搜索附加文件内容。一切安好。但是,如果我多次运行以下相同的脚本,perl 命令将继续附加到文件中。

searchArr=(test1 test2 test3)

replaceArr=(somestring1 somestring2 somestring3)

a=`echo ${#searchArr[@]}`
echo $a
for ((i=0;i<$a;i++))
do
searchValue=`echo ${searchArr[i]}`
replaceValue=`echo ${replaceArr[i]}`
for file in `find . -name \* -print`; do
grep "$searchValue" $file &> /dev/null
if [ $? -ne 0 ]; then
echo "Search string not found in $file!"
else
perl -p -i -e "s/$searchValue/$replaceValue/g" $file
echo $file "Replace string Success!"
fi
done
done

电流输出:-

如果运行超过一次,它将继续像这样追加。例如,如果运行两次,它将附加两次

somestring1somestring1test1
somestring2somestring2test2
somestring3somestring3test3

需要的输出:-无论运行多少次

somestring1test1
somestring2test2
somestring3test3

最佳答案

将单词边界添加到您的 sed 搜索模式中。

Beginning and end of words in sed and grep

关于linux - 如何根据搜索在文件内容中附加字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23063192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com