跳过不包含特定字符的行,例如 .colon

跳过不包含特定字符的行,例如 .colon

我正在 while 循环中读取文件中的行。

while read line
do
  #process line
done

我想跳过不包含冒号的行。

答案1

使用bash(alsozshksh),您可以这样做:

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

[或使用其他shell 的旧测试POSIX

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

相关内容