gpt4 book ai didi

Bash,使用 IFS 从文件中逐行读取

转载 作者:行者123 更新时间:2023-11-29 08:50:53 32 4
gpt4 key购买 nike

我从 http://bash.cyberciti.biz/guide/While_loop 获得了这段代码, 用于从文件中逐行读取

file=/etc/resolv.conf
while IFS= read -r line
do
# echo line is stored in $line
echo $line
done < "$file"

我不明白的部分是 IFS= 以及它如何促成此功能。有人可以向我解释一下吗?谢谢。

最佳答案

在这种情况下,IFS 设置为空字符串,以防止 read 从行中去除前导和尾随空格。

更改 IFS 通常用于控制输入如何拆分为多个字段。但在这种情况下,因为只有一个变量名被赋予 read,所以 read 永远不会将输入拆分为多个字段,而不管 IFS< 的值如何。但是,它将按照 POSIX 规范中的要求删除前导和尾随空格(假设 IFS 的值包含空格或未设置)。

请参阅 read 的 POSIX 规范和 field splitting有关其工作原理的详细信息。

关于Bash,使用 IFS 从文件中逐行读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4385772/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com