首页 > 解决方案 > Git Bash 输出中的彩色文本

问题描述

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

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

效果很好,但是很难解释一堵白色的文字。我想知道如何使文件夹名称和文件名具有不同的颜色?

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

标签: linuxbashalias

解决方案


您可以printf使用颜色代码打印它:

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

推荐阅读