【发布时间】:2016-03-03 03:43:58
【问题描述】:
如果我想从具有不同列数的文件中进行搜索,如下所示:
ppl:apple age:5 F add:blabla love:dog
ppl:tom M add:blablaa love:cat
ppl:jay age:3 M love:apple
ppl:jenny acc:jen age:8 F add:blabla
...
文件是制表符分隔的,我想要的输出是:
age:5
age:3
age:8
...
使用grep age: 将返回整行,而
使用cut -f2 会返回一些不需要的列:
age:5
M
age:3
acc:jen
cut -f2|grep age: 和 grep age|cut -f2: 都不起作用
我的数据可能在 11-23 列之间, 有没有更简单的方法可以使用 grep sed 或 awk 来处理它, 非常感谢
【问题讨论】:
-
你给的输入,第二行没有 age:x 。输入数据是这样的吗?
-
用标签替换这里的 T:
sed -n "s/^.*T\(age:[^T]*\)T*$/\1/p" < x.txt -
有些可能没有age:列,列总数不固定
标签: bash awk sed grep multiple-columns