пропустить строку, которая не содержит конкретного символа, например .colon

Я читаю строки из файла в цикле while.

while read line do #process line done 

Я хочу пропустить строки, которые не содержат двоеточие.

  • awk, как изменить значение файла с помощью наборов параметров?
  • Чтобы найти разницу между двумя строками одних и тех же файлов
  • выберите несколько столбцов на основе диапазонов, указанных в отдельном файле
  • Удалить полную строку в текстовых файлах на основе тегов
  • Команда unix для усечения каждой строки файла
  • Найти и заменить в сообщениях Wordpress
  • добавьте пробел 5 раз в начале каждой строки в текстовом файле
  • Замените все символы новой строки на пространство, за исключением последнего
  • One Solution collect form web for “пропустить строку, которая не содержит конкретного символа, например .colon”

    С bash (также zsh и ksh ) вы можете сделать вот так:

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

    или используя более старый тест [ с другой оболочкой POSIX :

     [ ! -z "${line##*:*}" ] && continue 
    Linux и Unix - лучшая ОС в мире.