Se você não se importar em obter um cabeçalho de nome de arquivo, bem como o espaçamento, então, pelo menos com as implementações GNU Coreutils de head
/ tail
você poderia fazer
tail -n +1 *
ou
head -n -0 *
No CentOS com Bash 3.2.52 eu desejo mostrar completamente todos os arquivos em dir atual:
cat *
As saídas de todos os arquivos estão sendo exibidas, mas são totalmente justapostas uma à outra ...
Eu não tenho um espaçamento cosmético, o que facilitaria a compreensão de qual arquivo começa onde.
Em vez disso:
file-output_1
file-output_2
Eu gostaria de dizer:
file_output_1
file_output_2
Como eu poderia melhorar o comando cat e shell glob, de modo que cada saída de arquivo (talvez além da última) tenha algum espaçamento, digamos, 1 ou 2 linhas vazias?
Você pode usar o comando more
em vez de cat
. Por exemplo:
$ touch file{01..05}
$ for i in {01..05};do echo string$i > file$i;done
$ ll
total 40
-rw-rw-r-- 1 vagrant vagrant 9 Sep 6 20:38 file01
-rw-rw-r-- 1 vagrant vagrant 9 Sep 6 20:38 file02
-rw-rw-r-- 1 vagrant vagrant 9 Sep 6 20:38 file03
-rw-rw-r-- 1 vagrant vagrant 9 Sep 6 20:38 file04
-rw-rw-r-- 1 vagrant vagrant 9 Sep 6 20:38 file05
Agora, use more
:
$ more file*
::::::::::::::
file01
::::::::::::::
string1
::::::::::::::
file02
::::::::::::::
string2
::::::::::::::
file03
::::::::::::::
string3
::::::::::::::
file04
::::::::::::::
string4
::::::::::::::
file05
::::::::::::::
string5