Grep为多种模式

时间:2015-07-02 07:54:20

标签: linux bash unix

我有一个包含内容的文件foo。

foo:

Transid: 1234 - first line
Transid:1234 - Second line.
In the Gap -Third line
1234 - fourth line
Transid: - fivth line.

1234是事务ID,用作以下脚本的输入。

itrans=1234
grep "Transid:*$i_trans" foo

预期产出:

Transid: 1234 - first line
Transid:1234 - Second line.

实际输出:

Transid:1234 - Second line.

你能帮助我获得预期的输出吗?

1 个答案:

答案 0 :(得分:0)

您还需要匹配空格字符.ie,在*之前添加一个空格,以便它也匹配1234之前有空格的行。

grep "Transid: *$i_trans" foo

<space>*匹配零个或多个空格。您也可以在上面的正则表达式中使用POSIX char class [[:blank:]]而不是space。