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

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

while read line do #process line done 

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

  • Прочитайте больший файл-A и найдите связанные строки во втором файле и создайте вывод
  • «While read» также выводит то, что не читается / не редактируется
  • awk столбцы для строк разбиваются на новую строку
  • Сценарий Bash с несколькими строками и Grep
  • Разбирайте XML, чтобы получить значение узла в скрипте bash?
  • Как я могу извлечь текст между двумя строками в файле журнала?
  • Добавить кавычки и запятую к каждому слову в файле
  • Нужна команда / скрипт, который может генерировать вывод в одной строке со всей необходимой информацией
  • 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 - лучшая ОС в мире.