pula linha que não contém um caractere específico, por exemplo, .colon

0

Estou lendo linhas de um arquivo em um loop while.

while read line
do
  #process line
done

Eu quero pular as linhas que não contêm dois pontos.

    
por user3153014 22.05.2014 / 08:21

1 resposta

2

Com bash (também zsh e ksh ), você pode fazer assim:

while IFS= read -r line; do
  [[ ! $line == *:* ]] && continue
  printf '%s\n' "$line"
done

ou usando o teste anterior [ com outro POSIX shell:

[ ! -z "${line##*:*}" ] && continue
    
por 22.05.2014 / 08:41