.colonなどの特定の文字を含まない行をスキップします。

.colonなどの特定の文字を含まない行をスキップします。

whileループからファイルの行を読み込んでいます。

while read line
do
  #process line
done

コロンを含まない行をスキップしたいです。

答え1

bash(また、zshおよび)を使用してksh次のことができます。

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

[または他のシェルを使用した古いテストPOSIX

[ ! -z "${line##*:*}" ] && continue

関連情報