Git Bash 输出中的彩色文本

时间:2021-07-20 15:09:57

标签: linux bash alias

我做了一个别名来打印当前目录树:

find . | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"

.
 |-trace.pcap
 |-parent
 | |-chdir1
 | | |-file1.txt
 | |-chdir2
 | | |-file2.txt
 | | |-file3.sh
 |-tmp
 | |-json-c-0.11-4.el7_0.x86_64.rpm

这很好用,但是很难解释白色文本墙。我想知道如何使文件夹名称和文件名称具有不同的颜色?

我不能使用“树”命令,一切都需要手动完成,没有第三方。

1 个答案:

答案 0 :(得分:3)

您可以使用带有颜色代码的 printf 打印:

find . '(' \
     '(' -type d -printf "\033[31m" ')' -o \
     '(' -type f -printf "\033[32m" ')' -o \
                 -printf "\033[33m" \
      ')' -printf "%f""\033[39m""\n"
相关问题