重击:使“ ls”的输出变为彩色,并同时显示多列

时间:2019-05-01 17:27:41

标签: bash

我希望在MacOS Bash Shell的颜色突出显示的列中看到ls的输出。

对于颜色

ls -GFS # gives colorful output of one column

用于列

ls | paste - - -   # gives 3 columns without hightlight

我们如何使它同时具有彩色和3列?

如果我可以创建一个函数并放入.bash_profile以便于 每当我做lss时,我都会在3列中看到输出列表。

例如:

alias lss='ls -GFS'

更新

ls -GFS | paste - - - # This gives 3 columns but no hightlight

ls -GFS # this gives one column with hightlight

1 个答案:

答案 0 :(得分:1)

您可以通过设置CLICOLOR_FORCE来强制macOS ls在配管时显示颜色:

CLICOLOR_FORCE=1 ls -GFS | cat

GNU ls的等效项是:

ls --color=always | cat

但是,请注意,macOS ls -GFS将自动调整列数以适合文件名和终端宽度:

bash-3.2 $ ls -GFS
a pretty long filename
an even longer filename that takes up half the terminal
file1*
file2*
file3*

bash-3.2 $ rm an\ even\ longer\ filename\ that\ takes\ up\ half\ the\ terminal
bash-3.2 $ ls -GFS
a pretty long filename  file2*
file1*                  file3*

bash-3.2 $ rm a\ pretty\ long\ filename
bash-3.2 $ ls -GFS
file1* file2* file3*