regex - 删除所有包含 x 数量的字符串

标签 regex shell text sed

我有一个相当大的文本文件,其中包含如下所示的字符串:

//a/b/ww/d/ //b/d/我们/c/ //a/b/as/d/e/ //af/y/x/f/e/ //b/d/we/c/

我正在尝试删除所有仅包含 6 个正斜杠的行。

斜杠之间的文本是随机的,可以更长或更短。

期望的输出:

//a/b/as/d/e/ //af/y/x/f/e/

最有效的方法是什么?

最佳答案

这是为 awk 量身定制的工作,根据由 / 分隔的 NF(字段数)计数进行操作:

awk -F/ 'NF != 7' file

//a/b/as/d/e/
//af/y/x/f/e/

NF==7 表示一行中有 6 个斜杠(分隔符)。

关于regex - 删除所有包含 x 数量的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38213708/

相关文章:

python - 在 Python 中替换大型文本文件中的多个字符串

python - 捕获 1 字和 2 字专有名词的正则表达式方法

c++ - 从 WinApi 中的可编辑文本字段读取数据

linux - 将 bash 变量作为模式传递给 awk

javascript - 替换文本中多个单词的有效方法

html - 与图像外的左上角对齐的旋转文本?

php - 使用 PHP 读取 MIME 数据

r - 如何根据R中分隔符之间的出现替换字符串中的确切字符数

shell - 循环 shell 脚本直到成功的日志消息

Android CTS 如何延长 shell-timeout 值