shellwhile比较_Linux篇:shell中while read line的用法及实战
时间: 2024-03-19 21:43:47 浏览: 205
在Linux shell中,while read line的用法非常常见,尤其是在处理文本文件的时候。它的作用是逐行读取一个文件,并将每一行保存到变量中,然后执行一些操作。
下面是一个简单的例子,它会逐行读取一个文件,并在每一行前面添加一个编号:
```
#!/bin/bash
count=1
while read line; do
echo "$count: $line"
count=$((count+1))
done < input.txt
```
在这个例子中,我们使用while read line语句来逐行读取input.txt文件,并将每一行保存到变量line中。然后,我们在每一行前面添加一个编号,并将结果输出到屏幕上。
需要注意的是,while read line语句的执行过程是在一个子shell中进行的,因此在循环内部对变量的赋值操作不会影响到循环外部的变量。
除了逐行读取文件之外,while read line语句还可以用来处理命令的输出。例如,下面的例子会列出当前目录下所有的文件和目录:
```
#!/bin/bash
ls | while read line; do
echo "Found: $line"
done
```
在这个例子中,我们使用ls命令来列出当前目录下的所有文件和目录,并将结果通过管道传递给while read line语句。然后,我们逐行读取ls命令的输出,并在每一行前面添加一个前缀。
总之,while read line语句是shell编程中非常重要的一个语法,它可以帮助我们逐行读取文件或命令的输出,并且可以对每一行进行一些操作。
阅读全文