Shell-Script

管道 ls 到 head 時保持格式化

  • November 19, 2021

當我打電話ls~我得到

Documents  Downloads  Templates  Desktop  Music  Videos  Public  Pictures

如果我管ls到頭(例如ls | head -30)我得到

Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos

我正在嘗試使用別名lsls | head -30以免ls在大文件夾中向我的終端發送垃圾郵件。問題是我更喜歡第一種格式(來自 normal ls)。

有什麼方法可以在限制結果數量的同時保留原始格式?

正如ls 的手冊頁所述:

-C    list entries by columns

所以,

alias ls='ls -C | head -30'

請注意,這樣的別名將阻止您將任何參數傳遞給ls. 例如:

ls /tmp/

可能不會按照您的預期進行。您可能會發現 shell 函式是比別名更好的選擇。

這有效:

unbuffer ls | head

它欺騙 ls 命令,表現得就像它正在寫入終端一樣

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