在一行中的特定位置处获取值

时间:2013-09-24 22:44:48

标签: regex linux grep

我有一个文件,其中每一行由一个由空格分隔的16个数字序列组成。我想找到序列中第8个数字值为500的每一行。我可以用什么grep regex来做这个?

谢谢!

2 个答案:

答案 0 :(得分:3)

你现在不仅仅是grepping,而是分割字段中的行,这意味着你应该使用awk:

cat 3.txt | awk '{if ($8 == "500") print $0}'

答案 1 :(得分:2)

在grep中使用重复:

grep '^\([^ ]\+ \)\{7\}500 ' file

它表示带有内容的7列,后跟500和空格。