单行删除特定字符出现超过x次的行

bob*_*nte 3 awk grep sed lines

我认为标题说明了一切,我正在寻找一个单行来删除一个文件的行,其中一个特定的字符,比方说,/,出现超过x次 - 例如5.

开始:

/博/ BYL/apointe

堆栈溢出

月亮/

预期结果:

/博/ BYL/apointe

月亮/

谢谢你的建议 !

jay*_*ngh 5

你可以使用的gsub功能awk.gsub返回成功替换的次数.因此,您可以将其用作参考来标识特定字符的出现次数.

awk 'gsub(/\//,"&")<5' file
Run Code Online (Sandbox Code Playgroud)

根据Ed Morton的建议更新.