如何Bash for While循环浏览文件内容脚本

时间:2020-01-09 10:42:03  来源:igfitidea点击:

如何在Linux或者Unix等操作系统下使用Bash for或者while循环遍历文本文件的每一行?
逐行读取文本文件的最佳方法是使用bash while循环。

while循环语法如下:

while read line 
do 
echo "$line" 
done < /path/to/input.txt 

在此示例中,使用while循环逐行读取/etc/passwd文件:

#!/bin/bash
while IFS= read -r line
do 
  echo "$line"
done < "/etc/passwd"

另一个例子:

#!/bin/bash
## script.sh ##
_file="${1:-/dev/null}"   #fail safe 
while IFS= read -r line
do 
  # Do something on $line
  echo "$line"
done < "$_file"

如下运行:

chmod +x script.sh
./script.sh /path/to/text/file.name