2015-03-13 178 views
1

我想刪除所有的行,至少有3個斜線。正則表達式有3個斜槓

例如。數據集:

/aafsaf/badba/asbsa 
/asgas/ 
asgsagasg 
asgasga 
sagsgasg/agsg/vas/ 
/1/2/3/4 

應該還給

/aafsaf/badba/asbsa 
sagsgasg/agsg/vas/ 
/1/2/3/4 

我知道這是基本的,我只是無法找到它!

回答

4

您可以使用grep -E用這個表達式:

grep -E '([^/]*/){3}' file 
/aafsaf/badba/asbsa 
sagsgasg/agsg/vas/ 
/1/2/3/4 

正則表達式([^/]*/){3}會找到一個符合至少3個正斜槓。

使用awk它甚至短命令

awk -F/ 'NF>3' file 
/aafsaf/badba/asbsa 
sagsgasg/agsg/vas/ 
/1/2/3/4 
+1

哎呀,你的編輯後,我的回答是重複的。 +1你的。 :) – Kent 2015-03-13 10:39:25

+0

謝謝,我們可能在同一時間想到了awk :) – anubhava 2015-03-13 10:40:19

0

通過基本的grep,

$ grep '/.*/.*/' file 
/aafsaf/badba/asbsa 
sagsgasg/agsg/vas/ 
/1/2/3/4 
相關問題