[英]Using Regex to replace or append line in file | Linux Shell script
[英]RegEx to replace password in Linux shell script?
我有一个字符串,其中包含密码等参数。 -P
之后的任何内容都是密码,后跟一些其他参数,如 -H 主机等。参数可以按任何顺序排列
Ex1: sh script.ksh -U test_user -P somepwd -H somehost
Ex2: sh script.ksh -U test_user -H somehost -P somepwd
现在,我想用删除的词替换密码
结果1: sh script.ksh -U test_user -P REMOVED -H somehost
结果2: sh script.ksh -U test_user -H somehost -P REMOVED
怎么样,有没有可能。 我尝试了以下方法。
sed -i -E "s/(.*[-]P)(\b.*\b)(.*)/\1\something\3/" test_pwd_replace.txt
但是,它不起作用。 请帮忙。
你可以使用这个sed
:
sed -i -E 's/-P[[:blank:]]*[^[:blank:]]+/-P REMOVED/' test_pwd_replace.txt
[[:blank:]]
相当于[ \\t]
匹配空格或制表符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.