Baca baris pertama file menggunakan bash

8

Adakah yang tahu tentang liner sederhana untuk membaca baris pertama file di bash?

ChrisInCambo
sumber

Jawaban:

24
read -r FIRSTLINE < filename

Hasil yang sama dengan jawaban yang lain tetapi lebih cepat karena tidak menghasilkan proses apa pun, karena "baca" adalah perintah bash bawaan.

Etienne Dechamps
sumber
good point, +1 for you
drAlberT
Ini melakukan jauh lebih baik daripada melakukan 'head -n 1'. Saya sedang membaca baris pertama dari 265 file dan waktu saya berjalan dari sekitar 15 detik menjadi kurang dari 1 detik
s3v1
16
head -1

secara sederhana

drAlberT
sumber
6
FIRSTLINE=`head -n 1 filename`

Menyimpan baris dalam variabel untuk digunakan nanti (perhatikan tanda kutip terbalik).

Terje Mikal
sumber
5
$ (command) adalah bentuk alternatif yang menghindari penggunaan back ticks, bahkan tidak mudah ditemukan pada keyboard tertentu.
drAlberT
1
jawaban yang bagus, tapi saya memilih karena jawaban e-t172 lebih baik. Baca dimaksudkan untuk ini, dan itu built-in untuk bash, seperti katanya.
Lee B
2
nah, memilih "jawaban yang baik" karena itu bukan yang terbaik yang mungkin tidak begitu sopan menurut Anda?
drAlberT
3
Lee - Kenapa tidak memilih yang Anda sukai saja? Downvotes hanya boleh diberikan untuk informasi yang faktanya salah atau dari topik.
MDMarra
1

head -n 1 harus melakukan trik

brandstaetter
sumber
1
awk 'NR == 1' /etc/passwd
David Poblador i Garcia
sumber
1
ini akan memindai file lengkap, lalu mengembalikan baris pertama, yang tidak efisien untuk file besar. baca -r lebih baik.
Richard