Bash 3.2.52가 설치된 CentOS에서 현재 디렉터리의 모든 파일을 완전히 표시하고 싶습니다.
cat *
모든 파일의 출력이 표시되지만 정확히는병치된하나씩…
어떤 파일이 어디서 시작되는지 더 쉽게 이해할 수 있게 해주는 장식적인 간격이 누락되었습니다.
대신에:
file-output_1
file-output_2
나는 말하고 싶다 :
file_output_1
file_output_2
각 파일 출력(마지막 파일 제외) 아래에 1~2개의 빈 줄과 같은 공간이 있도록 cat 및 shell glob 명령을 어떻게 개선할 수 있습니까?
답변1
파일 이름 헤더와 공백을 가져오는 것이 마음에 들지 않으면 최소한 head
/의 GNU 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