2015-12-02 57 views
0

我正在使用HDFS獲取滿足特定列中某個模式的數據,並希望它輸出整行。 (等待約2百萬700萬線輸出)在UNIX中搜索特定列中匹配模式的行

這裏是我的確切情況: 我想在一個文件中的整條生產線,其中在第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)

回答

3

怎麼樣:

awk -F'|' '$4~/^5/' file 

如果第4列總是最後關口,此行應太:

grep '|5[^|]*$' file 
1

的grep可以使用一些[^ X] + X魔法做到這一點。這裏是基本和擴展形式的正則表達式:

grep '^\([^|]\+|\)\{3\}5' 
egrep '^([^|]+\|){3}5' 
相關問題