从匹配特定字段的文件中打印行

时间:2010-09-13 09:33:24

标签: linux unix scripting sed awk

我有很多形式: A:B:C

我想打印那些第3个字段(由:)分隔的字段包含某种模式的行(完整)。

示例:

new / old:california / new york:/ ms / dist / fx / PROJ / fx / startScript

new / old:startScript / new york:/ ms / dist / fx / PROJ / fx / stopScript

搜索模式startScript时,应打印第1行,而不是第2行。

谢谢,

Jagrati

3 个答案:

答案 0 :(得分:7)

在冒号上分开,然后检查第三个字段:

awk -F : '$3 ~ /startScript/ { print }'

答案 1 :(得分:1)

一般的解决方案是使用awk,但值得注意的是,在您的具体示例中,有一个更简单的解决方案 - 您可以使用grep:

grep 'startScript$' yourfile

答案 2 :(得分:0)

awk -F":" '$3~/startScript$/' file