在 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
相关文章
在 Bash 中运行 find -exec 命令
发布时间:2024/03/14 浏览次数:127 分类:操作系统
-
本文将演示如何使用 find 命令的 -exec 参数来使用 find 命令定位文件中的任何文本。