我试图删除配置文件中同一行上的一些弃用参数。立即:
PARAM='param1=X param2=Y param3=Z param4=T opt1=A opt2=B'
命令sed -i 's/param.*//g' [file]
将删除整行而不是预期的行(" param1,2,3 only")。
你能给我一些帮助吗?
谢谢, 红
答案 0 :(得分:0)
如果您想使用sed
,以下内容可能会有所帮助。
sed '/PARAM=/s/param[1-3]=[a-zA-Z] *//g'
或
sed '/PARAM=/s/param[1-3]=[^ ] *//g'
执行以下操作:
PARAM=
(/PARAM=/
)param[1-3]=[a-zA-Z] *
(s/param[1-3]=[a-zA-Z] *//g
)构建正则表达式以匹配单个param
输出:
$ echo PARAM=\'param1=X param2=Y param3=Z param4=T opt1=A opt2=B\' \
| sed '/PARAM=/s/param[1-3]=[a-zA-Z] *//g'
PARAM='param4=T opt1=A opt2=B'
答案 1 :(得分:0)
这样的东西?:
cat test
PARAM='param1=X param2=Y param3=Z param4=T opt1=A opt2=B'
sed 's/param[1-3]=[^ ]*//ig' test
PARAM=' param4=T opt1=A opt2=B'