Bash 以干净、高效的方式仅部分读取文件

Bash 以干净、高效的方式仅部分读取文件,bash,Bash,这与其他问题不同,比如我不想重复所有可能行的内容 为了限制开销,我调用read两次,而不是像head-n2这样的管道。但是为了使read像这样工作,我将它重定向到for循环 当我使用一个来自{1..1}的循环并分配给从未使用过的变量I时,这感觉很糟糕。但这是我发现的最简单的方法 有没有办法进一步减少这种从文件中读取变量的方法,同时保持较低的开销?最好的解决方案只使用bash内置,并且尽可能干净快速 要读取的文件: 123 456 789 脚本: for i in {1..1}; do r

这与其他问题不同,比如我不想重复所有可能行的内容

为了限制开销,我调用
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

我会用一个简单的
{
..
}
块来完成:

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