2015-03-13 183 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 
相关问题