我正在使用HDFS来获取满足特定列中模式的数据,并希望它输出整行。 (期望输出700万行中约200万)
这是我的确切情况: 我希望文件中的整行显示第4列中的数据以“5”
开头例如我的数据集:
HK|20151010|65|5005
KR|20151009|38|5092
MD|20150925|98|1943
BG|20150826|82|4892
HK|20151017|14|5002
我希望命令产生以下结果:
HK|20151010|65|5005
KR|20151009|38|5092
HK|20151017|14|5002
非常感谢你! (注意:我无法搜索整行,因为其他列中的匹配列数据将以5开头)
答案 0 :(得分:3)
怎么样:
0
如果第4列始终是最后一列,则该行也应该起作用:
awk -F'|' '$4~/^5/' file
答案 1 :(得分:1)
grep 可以用一些[^ x] + x魔法来做到这一点。这是基本和扩展形式的正则表达式:
grep '^\([^|]\+|\)\{3\}5'
egrep '^([^|]+\|){3}5'