Como mencionado em um comentário , a resposta fácil e óbvia seria grep '||'
, mas isso falharia em detectar casos em que a primeira ou última coluna é nula.
Portanto, a resposta correta (ainda usando grep
) é:
grep '^|\|||\||$' file.txt
O caractere |
não é especial para o Grep, a menos que seja escapado com uma barra invertida, ou a menos que a opção -E
seja especificada. Ainda assim, isso é um pouco incerto, então vamos ver como seria se o delimitador no arquivo fosse uma vírgula :
grep '^,\|,,\|,$' file.txt
Se você quiser omitir as linhas em que apenas o campo último é nulo, mas as linhas de impressão em que qualquer outro campo é nulo, apenas omita o último caso:
grep '^|\|||' file.txt
Na verdade, é mais fácil ver o que está acontecendo se você colocar os casos individuais em argumentos separados, assim:
grep -e '^|' -e '||' -e '|$' file.txt