Você pode usar um regexp para encontrar essas linhas com a função de pesquisa normal:
/\v(\|[^|]*){21,}
O \v
garante que o regexp funcione independentemente do valor da opção magic
(torna todos os caracteres não alfanuméricos (exceto o sublinhado) especiais; também o uso aqui para evitar a necessidade de colocar barras invertidas antes do (
, )
, {
e }
).
Se você quiser ver todas essas linhas de uma só vez, combine-as com o comando :g
:
:g/\v(\|[^|]*){21,}/p
A propósito, esse tipo de comando (do predecessor ex para vi ) é a origem do nome da ferramenta grep
( g/re/p
: re short para regexp).
Se seus dados de origem forem "delimitados por canal", provavelmente você deverá verificar se algum dos valores tem caracteres de canal incorporados (talvez feitos por escape (por exemplo, com prefixo de barra invertida), duplicação ou cotação). O método regexp acima pode ser estendido para abranger a maioria dos métodos de escape e duplicação, mas a análise de valores citados geralmente requer poder de expressão expressiva do que a maioria das linguagens regulares pode oferecer.