Ls

如何在ls -l輸出之間添加新行

  • December 2, 2019

這是標準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
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 -qlwhich 確保每個文件有一行(換行符,就像所有控製字元一樣?(至少在 POSIX 語言環境中))。

引用自:https://unix.stackexchange.com/questions/554960