Você usa o comando head
para fazer isso, com o argumento -n com o número de linhas de cada arquivo, assim:
head -n3 *
ou
head -n3 *.txt
Isso também funciona para um único arquivo:
head -n3 filename.txt
Eu tenho uma pasta com alguns arquivos nela. Eu quero mostrar o seguinte:
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
Como posso fazer isso?
Você usa o comando head
para fazer isso, com o argumento -n com o número de linhas de cada arquivo, assim:
head -n3 *
ou
head -n3 *.txt
Isso também funciona para um único arquivo:
head -n3 filename.txt
cabeça
Você usa head
com a opção -n
.
head -n 10 FILE
Isso imprimirá as dez primeiras linhas de um arquivo.
Outra variação útil seria -n -NUMBER
.
head -n -10 FILE
Isso imprimirá todas as últimas dez linhas de um arquivo, exceto as
.Para resolver seu problema e obter sua saída desejada, você pode fazer o seguinte.
basename * && head -n NUMBER *
ou
basename *.FILETYPE && head -n NUMBER *.FILETYPE
Isso fará com que você siga a seguinte saída:
FILENAME
LINE ONE
LINE TWO
LINE THREE
Isso fará o que você quiser, esperançosamente:
find . -print -exec head {} -n 3 \;
-print
mostrará o nome do arquivo e o restante (de - exec
) mostrará as 3 primeiras linhas de cada arquivo
Altere o número de acordo com suas necessidades ...
Para adicionar o nome do arquivo à saída principal, use 'head -v'. Então 'head -vn 3 * .html' me dá:
# 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>
Tags command-line