Показать первые несколько строк файла

24

У меня есть папка с несколькими файлами. Я хочу отобразить следующее:

filename_1
first line of file1
second line of file1
third line of file1
filename_2
first line of file2
second line of file2
third line of file2
filename_3
first line of file3
second line of file3
third line of file3

и т.д. Как я могу это сделать?

Дэвид Онеилл
источник

Ответы:

54

Для этого вы используете headкоманду с аргументом -n с количеством строк в каждом файле, например:

head -n3 *

или

head -n3 *.txt

Это также работает для одного файла:

head -n3 filename.txt
организовать
источник
Так же, как комментарий (мне действительно нравится чистота предложенного решения), эта команда не будет записывать имена файлов, а только первые строки файлов
luri
@luri - Правда? В headверсии Ubuntu head (GNU coreutils) 8.5это по умолчанию будет. Или, может быть, вы используете псевдоним head --quiet?
устроить
@luri: Он также вывел имена файлов для меня.
Дэвид Онеилл
Черт, да ... это был псевдоним (на самом деле - тихий, а не - тихий), и я не знаю почему. Два ответа в одном для аранжировки;)
Лури
12

голова

Вы используете headс -nопцией.

head -n 10 FILE

Это напечатает первые десять строк файла.

Другой полезный вариант будет -n -NUMBER.

head -n -10 FILE

Это напечатает все, кроме последних десяти строк файла.

Чтобы решить вашу проблему и получить желаемый результат, вы можете сделать следующее.

basename * && head -n NUMBER *

или

basename *.FILETYPE && head -n NUMBER *.FILETYPE

Это даст вам следующий результат:

FILENAME
LINE ONE
LINE TWO
LINE THREE
Октавиан А. Дамиан
источник
4

Надеюсь, это будет делать то, что вы хотите:

find . -print -exec head {} -n 3 \;

-printпокажет имя файла, а остальные (из - exec) покажут первые 3 строки каждого файла

Измените номер в соответствии с вашими потребностями ...

Лури
источник
1

Чтобы добавить имя файла в вывод head, используйте 'head -v'. Итак, «head -vn 3 * .html» дает мне:

# head -vn 3 *.html
==> WebInfo.html <==
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

==> convert.html <==
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

==> misc.html <==
<html>
<head>
<title>WIP</title>

источник