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

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

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

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

24
задан 5 March 2011 в 01:15

4 ответа

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

head -n3 *

или

head -n3 *.txt

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

head -n3 filename.txt
0
ответ дан 5 March 2011 в 01:15

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

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

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

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

0
ответ дан 5 March 2011 в 01:15

голова

Вы используете 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
0
ответ дан 5 March 2011 в 01:15

Чтобы добавить имя файла в вывод 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>
0
ответ дан 5 March 2011 в 01:15

Другие вопросы по тегам:

Похожие вопросы: