이것은 표준 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