while read line 判断有结果
时间: 2024-03-19 07:43:50 浏览: 107
linux shell在while中用read从键盘输入的实现
在 Linux shell 中,使用 while read line 逐行读取文件时,可以结合 if 语句判断每一行是否符合特定的条件,并根据条件结果执行不同的操作。如果条件成立,则执行某些操作,否则执行其他操作。
下面是一个例子,演示了如何使用 while read line 和 if 语句判断每一行的长度是否超过了特定的值:
```
#!/bin/bash
while read line; do
if [[ ${#line} -gt 10 ]]; then
echo "Line too long: $line"
else
echo "OK: $line"
fi
done < input.txt
```
在这个例子中,我们使用 while read line 逐行读取 input.txt 文件的内容,并将每一行保存到变量 line 中。然后,我们使用 ${#line} 获取变量 line 的长度,并使用 if 语句判断长度是否大于 10。如果长度大于 10,则输出 "Line too long: $line",否则输出 "OK: $line"。
需要注意的是,我们在 if 语句中使用了 ${#line},这是一种用于获取变量长度的特殊语法。另外,我们使用了 -gt 运算符来进行比较操作,它代表 "greater than",表示大于的意思。
通过结合 while read line 和 if 语句的使用,我们可以对文件中的每一行进行更加复杂的判断和操作,从而实现更加灵活和高效的文本处理。
阅读全文