"ls -l" 출력 사이에 새 줄을 추가하는 방법

"ls -l" 출력 사이에 새 줄을 추가하는 방법

이것은 표준 ls -l출력입니다.

user@linux:~$ ls -l
total 0
-rw-rw-r-- 1 user user 0 Nov   1 00:00 file01
-rw-rw-r-- 1 user user 0 Nov   1 00:00 file02
-rw-rw-r-- 1 user user 0 Nov   1 00:00 file03
user@linux:~$ 

이와 같이 새 행을 추가하는 것이 가능합니까?

-rw-rw-r-- 1 user user 0 Nov   1 00:00 file01

-rw-rw-r-- 1 user user 0 Nov   1 00:00 file02

-rw-rw-r-- 1 user user 0 Nov   1 00:00 file03

답변1

ls -l | sed G

(이것은 일반적인 관용어입니다.sed자주 묻는 질문 에 대하여).

또는 (더 빠를 수도 있고 (아마도 짧은) 출력에는 중요하지 않을 수도 있음 ls -l):

ls -l | paste -d '\n' - /dev/null

각 뒤에 빈 줄을 삽입합니다.철사출력 ls -l.

이제 설명하는 각 파일 뒤에 빈 줄을 두려면( ls -l이름에 개행 문자가 포함된 파일이 있는 경우 상황이 다릅니다) 다음을 수행해야 합니다.

for f in *; do ls -ld -- "$f" && echo; done

(이 역시 해당 줄을 건너뜁니다 total.)

또는 ls -ql이를 사용하여 파일당 한 줄씩 보장할 수 있습니다(모든 제어 문자와 마찬가지로 개행 문자가 렌더링됩니다 ?(적어도 POSIX 로케일에서는)).

답변2

사용 awk:

ls -l | awk '{printf "%s\n\n", $0}'

답변3

NAME
       pr - convert text files for printing

단일 빈 줄로 인터리브 처리되었으며 헤더를 추가하지 않았습니다.

… | pr -dt

답변4

하나 더:

ls (options) | while read LINE; do
  echo "$LINE
"
done

관련 정보