linux - GREP 或 Regex 搜索特定系列的唯一字符

标签 linux unix

我是新手,我想使用 grep 或正则表达式搜索一个大文件,其中包含唯一 ID 的列表。

示例文件:

/icon_edit.png\" \/><\/a> AP-28992 : ABCD-1103_01 [v1]","2","2012-10-27 18:40:47","2012-01-04 13:22:41"],
["shawn","extra\/fax","<!-- 0000000000 --><a href=\"javascript:openTCEditWindow(0000,000);\"><img title=\"
TSD\" src=\"gui\/themes\/default\/images\/icon_edit.png\" \/><\/a> AP-28993 : ABCD-1103_02
[v1]","2","2012-10-27 18:40:47","2012-01-04 13:22:41"],
["shawn","extra\/traax","<!-- 0000000000 --> ABCD_110_01

应在下面进行唯一过滤,例如:

ABCD-1103
ABCD-110

最佳答案

我猜 ABCD-110 是您的输入模式,空格是分隔符

所以如果你的输入文件即。 abc.txt 就像(我修改了最后一行)

$cat abc.txt 
/icon_edit.png\" \/><\/a> AP-28992 : ABCD-1103_01 [v1]","2","2012-10-27
18:40:47","2012-01-04 13:22:41"],
["shawn","extra\/fax","<!-- 0000000000 --><a
href=\"javascript:openTCEditWindow(0000,000);\"><img title=\"
TSD\" src=\"gui\/themes\/default\/images\/icon_edit.png\" \/><\/a> AP-28993 :
ABCD-1103_02
[v1]","2","2012-10-27 18:40:47","2012-01-04 13:22:41"],
["shawn","extra\/traax","<!-- 0000000000 --> ABCD-110_01

然后进行以下工作:

$cat abc.txt  | grep -ow "ABCD-110.*" | awk '{print $1}'
ABCD-1103_01
ABCD-1103_02
ABCD-110_01

关于linux - GREP 或 Regex 搜索特定系列的唯一字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50524120/

相关文章:

linux - 更改 linux 网络设备的 TCP 超时

linux - 在apache文档根目录下存储软链接(soft link)

regex - 通过 Perl 更改文件名

linux - 在 UNIX 中,如何通过 IP 地址向同一网络上的另一个 UNIX 机器发送消息?

unix - 删除下划线并将其后的字符大写

linux - 使用 sed 将起始字符更改为另一个字符

java - 从 java 代码运行脚本 shell

c - 通过 argv 操作进程名称和参数

unix - 如何使用 PlistBuddy 在 .plist 中设置项目?

c - 如何测量一段程序的用户/系统 cpu 时间?