Grep用于匹配ID的特定模式

时间:2017-06-28 14:15:06

标签: linux

我正在尝试运行一个脚本来识别文件中的所有完整ID。完整ID将包含“b”或“c”,后跟6个数字。 (即b028888)我有一个文件在一行上有超过1个ID,还有一些部分ID。这是文件内容:

以下是一些ID的列表

b028888 c948372

c039481 b0493

c34

b016396

c456039

b0291

b193

让我们看看这个蠢事是否有效!

我拥有的命令是:

grep "^[bc][0-9][0-9][0-9][0-9][0-9][0-9]" ID.txt

它只返回该行的第一个匹配,然后跳到下一行。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

这正是grep应该做的事情。如果id以空格为界,您可以使用:tr ' ' \\n <ID.text | grep ...将每个id放在一个单独的行上。

答案 1 :(得分:0)

+1到tr,如果你想要也可以。

cat ./poop | tr ' ' \\n | grep -o "^[bc][0-9][0-9][0-9][0-9][0-9][0-9]"