这与其他问题不同,例如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
答案 0 :(得分:1)
我是通过一个简单的{
... }
块来实现的:
{ read -r a; read -r b; } < file