迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 Bash 中读取文件行

作者:迹忆客 最近更新:2023/03/17 浏览次数:

本文使用 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

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便