仅以一种干净且高效的方式从文件中读取

时间:2017-11-04 01:36:06

标签: bash

这与其他问题不同,例如Bash read from file and store to variables,因为我不想循环遍历所有可能行的内容。

为了限制开销,我正在调用read两次,而不是管道head -n2之类的东西。但是为了使read像这样工作,我将它重定向到for循环。

当我使用来自{1..1}的循环并分配给从未使用的变量i时,这感觉很脏。但这是我发现的最简单的方法。

有没有办法进一步减少这种从文件读取变量同时保持低开销的方法?最好的答案只使用bash内置函数,并且尽可能干净和快速。

要阅读的文件:

123
456
789

脚本:

for i in {1..1}; do
   read -r a
   read -r b
done < file

echo $a
echo $b

输出:

123
456

1 个答案:

答案 0 :(得分:1)

我是通过一个简单的{ ... }块来实现的:

{ read -r a; read -r b; } < file