首页 > 解决方案 > 如何仅打印匹配模式

问题描述

我只需要打印 [PR:XXXXX]。

例:只[Test][PR:John][Finished][Reviewer:SE][PR:John]。(公关标签)

注意:其他字符串而不是 [PR:XXXXX] 可能会不时更改 例如:

[Test][PR:Cook][Completed]
[Test][Finished][PR:Russell][Reviewer:SE]
[Dump][Reviewer:SE][Complete][PR:Arnold]

注意:没有多线输入,所有输入中只包含一个 PR 标签。

直到我创建以下 sed 命令但它不起作用:

sed "s/\[PR:[^]]*\]//"

标签: regexawksedgrep

解决方案


使用这个 perl 命令行:

perl -pe 's/\[[^P][^R][^:].*?\]//g' your_file

下面测试:

$ echo "[Test][Finished][PR:Russell][Reviewer:SE][PR:Rachel]"|perl -pe 's/\[[^P][^R][^:].*?\]//g'
[PR:Russell][PR:Rachel]

推荐阅读