dircolors定义中的通配符?

时间:2011-04-28 03:10:52

标签: bash ls-colors

我正在设置一个.dir_colors文件,但我有一些问题似乎无法弄清楚。

我有PBS作业脚本,我想要着色,哪种工作正常:

.job 01;35

但是这些脚本的输出每个都生成两个文件:输出和错误,其格式为:

.job.o354282 .job.e354282

PBS的工作号码是354282.我真的很想突出这两种类型,但我能想到的唯一方法是使用以下通配符:

.job.o* 01;37
.job.e* 01;36

这似乎不起作用。我显然无法在每个文件扩展名中进行硬编码,因为我无法预测我的工作号码是什么。有没有办法在.dir_colors文件中使用通配符,或者用其他方法来解决这个问题?

感谢。

2 个答案:

答案 0 :(得分:1)

您生成的作业文件看起来像是按照预定义的格式。也许您可以将其格式更改为:

354282.job.o
354282.job.e

或其他任何内容,以便LS_COLORS不支持扩展名与通配符相同。

答案 1 :(得分:0)

这是不可能的。 ls命令不接受通配模式。您可以通过手动设置LS_COLORS来测试它:

$ export LS_COLORS='no=00:*.rpm=00;31:*.o*=00;31'

以上将使rpm文件呈现红色,并以“.o *”结束。它们必须在文件名中包含“*”。尝试使用:

$ touch nix.rpm job.o123 job.o\*
$ ls