Shell-Script
管道 ls 到 head 時保持格式化
當我打電話
ls
時~
我得到Documents Downloads Templates Desktop Music Videos Public Pictures
如果我管
ls
到頭(例如ls | head -30
)我得到Desktop Documents Downloads Music Pictures Public Templates Videos
我正在嘗試使用別名
ls
,ls | head -30
以免ls
在大文件夾中向我的終端發送垃圾郵件。問題是我更喜歡第一種格式(來自 normalls
)。有什麼方法可以在限制結果數量的同時保留原始格式?
正如ls 的手冊頁所述:
-C list entries by columns
所以,
alias ls='ls -C | head -30'
請注意,這樣的別名將阻止您將任何參數傳遞給
ls
. 例如:ls /tmp/
可能不會按照您的預期進行。您可能會發現 shell 函式是比別名更好的選擇。
這有效:
unbuffer ls | head
它欺騙 ls 命令,表現得就像它正在寫入終端一樣