繁体   English   中英

RegEx 替换 Linux shell 脚本中的密码?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM