我每个文件夹中都有.env
个文件
Folder1
.env
Folder2
.env
Folder3
.env
Folder4
.env
.env文件具有
IP_ADDRESS=192.168.1.132
我想用当前的本地IP更改.env的IP。
CurrentIP=`ifconfig | grep inet | awk '{ print $2 }' | grep -E '(192)\.(168)(\.[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]){2}'`
echo 'Assiged IP' $CurrentIP
find ./ -name '.env' -type f -exec sed -i '' -e "s/([0-9]{1,3}[.]){3}[0-9]{1,3})/$CurrentIP/" {} \;
它似乎不起作用,出了什么问题。
答案 0 :(得分:0)
尝试如下使用-exec
的{{1}}标志:
find
答案 1 :(得分:0)
您在sed
中的正则表达式不正确。请尝试
find ./ -name '.env' -type f -exec sed -i '' -E "s/([0-9]{1,3}\.){3}[0-9]{1,3}/$CurrentIP/" {} \;
-E
[0-9]{1,3})
中重复的右括号