Nếu tôi có tên tệp myownfile.txt
chứa 3 dòng văn bản.Sử dụng kết hợp "đầu" và "đuôi" để hiển thị dòng giữa của tệp trong Unix
foo
hello world
bar
Tôi muốn hiển thị dòng ở giữa đó là hello world
bằng cách sử dụng chỉ head
và tail
lệnh.
Nếu tôi có tên tệp myownfile.txt
chứa 3 dòng văn bản.Sử dụng kết hợp "đầu" và "đuôi" để hiển thị dòng giữa của tệp trong Unix
foo
hello world
bar
Tôi muốn hiển thị dòng ở giữa đó là hello world
bằng cách sử dụng chỉ head
và tail
lệnh.
head -2 myownfile | tail -1
nên làm những gì bạn muốn
Cảm ơn bạn nó hoạt động! bạn có thể đưa ra một chút giải thích xin vui lòng về phần mà đầu nói -2 có nghĩa là bắt đầu từ dòng 2? và đuôi -1 cũng bắt đầu từ dòng 2 từ dưới cùng? – Ali
'đầu -2' nhận được ** ** dòng đầu tiên của tệp. Đầu ra này được chuyển tới 'đuôi -1', là dòng ** ** đầu cuối của _piped output_ (có thể là ở đâu đó ở giữa tệp). – ADTC
Hãy thử head -2 | tail -1
. Đó là dòng cuối cùng (tail -1
) của nửa đầu + một (head -2
).
Cảm ơn bạn đã giải thích nó giúp tôi rất nhiều – Ali
head -2
màn hình đầu tiên 2 dòng của một file
$ head -2 myownfile.txt
foo
hello world
tail -1
hiển thị dòng cuối cùng của một tập tin:
$ head -2 myownfile.txt | tail -1
hello world
đuôi -2 myownfile.txt | đầu -1
nó sẽ hiển thị dòng thứ 2.
Tôi hơi muộn với bữa tiệc ở đây, nhưng cách linh hoạt hơn để làm việc này là sử dụng awk thay vì sử dụng đầu và đuôi.
lệnh của bạn sẽ trông như thế này:
awk 'NR==2' myfile.txt
hello world
gì nếu tập tin đã có hơn 3 dòng ??? – anil