gpt4 book ai didi

regex - 使用正则表达式获取命令列表

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

我有一个命令列表,其中一些命令具有我需要在执行它们之前跳过的参数。

  • 显示 abc(h2) xyz
  • 显示 abc(h2) xyz opq(h1)
  • 显示 abc(h2) xyz <32>
  • 显示 abc(a,l) xyz [<32>] opq
  • 显示abc

最终,该列表具有 ( )、<>、[] 与纯文本命令的不同组合。我想将所有其他命令与普通命令(如“show abc”)分开。

命令需要处理:-

(h1), (h2), (a,l) are to be discarded
<32> - is to be replaced with any ip address
[<32>] - is to be replaced with any integer digit

我尝试了以下操作,但结果文件为空:-

cat show-cmd.txt | grep "<|(|[" > hard-cmd.txt

如何使用正则表达式获取没有普通命令的结果文件?

所需的输出文件:-

show abc xyz
show abc xyz opq
show abc xyz 1.1.1.1
show abc xyz 2 opq

最佳答案

尝试使用 grep 然后使用 sed

grep '[(<\[]' file | sed -e 's/\[<32>\]/2/g' -e 's/<32>/1.1.1.1/g' -e 's/([^)]*)//g'

输出:

show abc xyz
show abc xyz opq
show abc xyz 1.1.1.1
show abc xyz 2 opq

请注意,s///g 命令的顺序对您的情况很重要。

同时尽量避免重复使用 cat

关于regex - 使用正则表达式获取命令列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19396536/

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