Этого достаточно и сохраняет первую строку filename
в переменной $line
:
read -r line < filename
Мне также нравится awk
для этого:
awk 'NR==1 {print; exit}' file
Чтобы сохранить саму строку, используйте синтаксис var=$(command)
. В этом случае line=$(awk 'NR==1 {print; exit}' file)
.
Или даже sed
:
sed -n '1p' file
С эквивалентом line=$(sed -n '1p' file)
.
См. Пример, когда мы вводим read
с seq 10
, то есть последовательность чисел от 1 до 10:
$ read -r line < <(seq 10)
$ echo "$line"
1
$ line=$(awk 'NR==1 {print; exit}' <(seq 10))
$ echo "$line"
1