Головы и хвосты - Попытка получить первую строку и последние десять строк каждого файла - PullRequest
1 голос
/ 29 октября 2011

У меня есть каталог выходных файлов, в котором я хочу отобразить первую строку каждого файла и последние десять строк каждого файла по порядку.

У меня есть часть командыdown:

ls output/*Response | sort -t_ --key=2 -g | xargs tail | less

Что дает мне что-то вроде этого:

==> output/Acdb_18_Response <==
150707,"SOVO","Other","","","","","","160x600",0,0,1432,0,0,1432
167493,"Asper","Other","","","","","","160x600",143200,0,0,1432,0,0
269774,"AIKA","Other","","","","","","160x600",0,1432,0,0,1432,0
342275,"Lorrum","Other","","","","","","160x600",0,0,1432,0,0,1432
347954,"Game","Other","","","","","","160x600",0,1432,0,0,1432,0
418858,"Technologies","Other","","","","","","160x600",0,1432,0,0,1432,0
24576,"Media ","Other","","","","","","300x600",0,0,1432,0,0,1432
23351," Plus","Other","","","","","","425x600",0,4296,0,0,4296,0
#rowcount=79

, что хорошо, но я бы хотел включить первую строку, чтобы получить заголовок.Я пытался соединить вывод с головой, но до сих пор не смог понять, как расположить трубы.

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 29 октября 2011
ls output/*Response | sort -t_ --key=2 -g \
    | xargs -I {} sh -c 'head -1 {}; tail {}' | less
0 голосов
/ 22 января 2014

Вы также можете попробовать следующее:

ls output/*Response | sort -t_ --key=2 -g | ((head -n 1) && (tail -n 10)) | less
...