我通过以下命令从配置文件中删除密钥:
cat showrunningconfig.txt | grep -v '[ trnvf]*[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]'
这将删除整行。但我只想删除相关的模式。grep有-o选项,它只显示相关的模式,而不显示整行。但是-o选项不能与-v 结合使用
知道吗?非常感谢!
当您要从字符串中移除部分模式时,应该使用sed
。
sed -i 's/[[:space:]]*[[:xdigit:]]{8}//g' showrunningconfig.txt
查看在线演示
s="Text A1f4E3D4 and more text"
sed 's/[[:space:]]*[[:xdigit:]]{8}//g' <<< "$s"
# => Text and more text
详细信息
-i
-就地替换(GNUsed
选项(s/[[:space:]]*[[:xdigit:]]{8}//g
:s
-替代命令[[:space:]]*
-0+空白[[:xdigit:]]{8}
——八个A-F
、a-f
和0-9
字符