gpt4 book ai didi

Ubuntu 9.04 中 Sed 命令的正则表达式语法错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:39:48 25 4
gpt4 key购买 nike

我有这样的 sed 命令:

radius_clientsfile=clients.conf
iface_netsize="/64"
wireless_prefix=fd04:bd3:80e8:3::
sed -i "/client $wireless_prefix\\$iface_netsize/ {n s/\(\W*secret\W*=\W\).*/\1$key/}" $radius_clientsfile

clients.conf 的内容如下:

client fd04:bd3:80e8:3::/64 {
secret = 00000000000000000000000000000001
}

其目的是用clients.conf文件中的 key 替换secret的值。例如,如果key是00000000000000000000000000000002,则clients.conf的内容应更改如下:

client fd04:bd3:80e8:3::/64 {
secret = 00000000000000000000000000000002
}

此脚本适用于armv5tejl的OpenWRT姿态调整r35400但是,它无法在 Ubuntu 9.04 中运行,并出现错误: sed:-e表达式#1,字符36:命令后的额外字符

有人可以帮助我解决这种情况吗?

最佳答案

我认为你需要在命令n和命令s之间添加一个;,就像这样

sed -i "/client $wireless_prefix\\$iface_netsize/ {n; s/\(\W*secret\W*=\W\).*/\1$key/}" $radius_clientsfile

这在我的 cygwin 环境中工作。

关于Ubuntu 9.04 中 Sed 命令的正则表达式语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30227934/

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