如何在文件中找不到35个字符的行?

vei*_*lig 1 regex linux ubuntu search sed

我怎么能sed用来查找所有没有35个"|"的行 字符?

如果我不能使用sed,我可以使用什么?

Joh*_*web 7

我使用awk它因为它更具可读性并且不涉及令人讨厌的正则表达式语法:

awk -F'|' 'NF != 36' filename
Run Code Online (Sandbox Code Playgroud)

或者grep:

grep -v '^\([^|]*|\)\{35\}[^|]*$' filename
Run Code Online (Sandbox Code Playgroud)

但是如果你想使用sed:

sed '/^\([^|]*|\)\{35\}[^|]*$/d' filename
Run Code Online (Sandbox Code Playgroud)