在 Bash 中读取文件行
本教程使用 read
命令在 bash 脚本中逐行读取文件。
这是我们将使用的文本文件的内容。
john\n ,
james\n ,
joe,
jack,
jill
在 Bash 中使用 read
命令逐行读取文件
names.txt
文件被重定向到 while
循环。read
命令处理文件中的每一行并将其分配给 p
变量,echo
命令显示它。一旦处理完所有行,while
循环就会停止。read
命令会忽略前导空格,这在某些情况下可能会产生误导。
printf "Names\n"
while read p;
do
echo "$p"
done <names.txt
输出:
Names
johnn ,
jamesn ,
joe,
jack,
jill
在 Bash 中使用 IFS
和 -r
选项逐行读取文件
默认情况下,read
命令会删除所有前导空格并将反斜杠解释为转义字符。我们添加 -r
选项以禁用反斜杠转义,并禁用修剪空格,以便清除内部字段分隔符(IFS)。
printf "Names\n"
while IFS= read -r line; do
printf '%s\n' "$line"
done < names.txt
输出:
Names
john\n ,
james\n ,
joe,
jack,
jill
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。