正向bash颜色



有什么方法可以导出命令输出的颜色吗?

让我们用一个小例子来解释它:

ls -alh --color=auto

将打印目录的彩色内容,而

ls -alh --color=auto | cat

不会打印某些颜色。我想知道的是一个技巧或工具,让我们称之为magic,它可以像33[1m一样恢复这些命令,以便颜色可用于后期处理:

ls -alh --color=auto | magic | cat

ls -alh --color=auto | magic >> file

更新:
我使用ls只是为了这个例子,但想知道是否存在普遍的可能性。

script outputfile command 

会成功的。例如:

script capture.txt ls --color=always

由于颜色代码实际上是ls输出的一部分,因此无法"恢复"它们(因为它们一开始就不存在(。

但如果使用ls --color=always,即使在非交互式模式下使用,ls也会输出颜色代码。

基本上,ls是智能的,可以检测输出何时不会到达终端。如果你想告诉它不那么严重,可以试试ls --color=always

使用颜色区分文件类型在默认情况下和--color=never中都是禁用的。对于--color=auto,ls只有在标准输出连接到端子时才会发出颜色代码。LS_COLORS环境变量可以更改设置。使用dircolors命令进行设置。

最新更新