正则表达式有 3 个斜杠

Regex has 3 slashes

我想删除所有没有至少 3 个斜杠的行。

例如。数据集:

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

应该回馈

/aafsaf/badba/asbsa
sagsgasg/agsg/vas/
/1/2/3/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

通过基本的grep,

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