ディレクトリ内のすべてのファイルを完全に表示しますが、ファイル間にいくつかのスペースがあります。

ディレクトリ内のすべてのファイルを完全に表示しますが、ファイル間にいくつかのスペースがあります。

Bash 3.2.52がインストールされているCentOSで現在のディレクトリ内のすべてのファイルを完全に表示したいと思います。

cat *

すべてのファイルの出力が表示されますが、正確には並置された一つずつ…

どのファイルがどこから始まるのかを理解しやすくするための装飾的なギャップがありません。

代わりに:

file-output_1
file-output_2

私は言いたい:

file_output_1

file_output_2

各ファイル出力(最後のファイルを除く)の下に1〜2行の空行などのスペースがあるように、catコマンドとshell globコマンドをどのように改善できますか?

答え1

ファイル名ヘッダーとスペースを取得するのが気に入らない場合は、最小限のheadGNU Coreutils実装を使用できます。tail

tail -n +1 *

または

head -n -0 *

答え2

more代わりにこのコマンドを使用できますcat。たとえば、次のようになります。

$ 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

次に、次を使用してくださいmore

$ more file*
::::::::::::::
file01
::::::::::::::
string1
::::::::::::::
file02
::::::::::::::
string2
::::::::::::::
file03
::::::::::::::
string3
::::::::::::::
file04
::::::::::::::
string4
::::::::::::::
file05
::::::::::::::
string5

関連情報