Использование комбинации «голова» и «хвост» для отображения средней строки файла в Unix - PullRequest
17 голосов
/ 01 ноября 2011

Если у меня есть имя файла myownfile.txt, которое содержит 3 строки текста.

foo
hello world
bar

Я хочу отобразить строку посередине, которая является hello world, используя только команды head и tail.

Ответы [ 5 ]

24 голосов
/ 01 ноября 2011
head -2 myownfile | tail -1 

должен делать то, что вы хотите

4 голосов
/ 08 февраля 2014

head -2 отображает первые 2 строки файла

$ head -2 myownfile.txt
foo
hello world

tail -1 отображает последнюю строку файла:

$ head -2 myownfile.txt | tail -1
hello world
3 голосов
/ 02 марта 2016

Я немного опоздал на вечеринку здесь, но более гибкий способ сделать это - использовать awk, а не голову и хвост.

Ваша команда будет выглядеть так:

awk 'NR==2' myfile.txt

Привет, мир

1 голос
/ 29 октября 2014

tail -2 myownfile.txt | head -1

покажет 2-ю строку.

1 голос
/ 01 ноября 2011

Попробуйте head -2 | tail -1. Это последняя строка (tail -1) первой половины + одна (head -2).

...