shell 遍历文件每行
时间: 2023-07-25 19:45:37 浏览: 140
常见的错误及解决方法-详解shell 遍历文件夹内所有文件并打印绝对路径
在 shell 中,可以使用 `while` 循环和 `read` 命令来遍历文件的每一行。
以下是一些示例:
1. 遍历文件的每一行并打印:
```
while read line
do
echo $line
done < filename
```
2. 遍历文件的每一行并计数:
```
count=0
while read line
do
count=$((count+1))
done < filename
echo "Total number of lines: $count"
```
3. 遍历文件的每一行并执行命令:
```
while read line
do
echo "Processing line: $line"
# 执行其他命令
done < filename
```
注意,在使用 `read` 命令时,应该指定一个变量来存储读取的每一行内容。如果文件的每一行以空格或其他分隔符分隔了多个字段,则可以使用 `read` 命令的 `-a` 选项来将每个字段存储到一个数组中。例如:
```
while read -a fields
do
# 处理数组中的每个字段
done < filename
```
同时,为了避免文件名中包含空格等特殊字符导致脚本出错,应该总是将文件名用双引号括起来。例如:
```
while read line
do
echo "$line"
done < "filename with spaces.txt"
```
阅读全文