faz ls esmaecer arquivos que terminam com til ('~') usando 'LS_COLOR'

3

Problema: estou tentando modificar LS_COLORS para esmaecer todos os arquivos que terminam com o caractere til.

Pergunta: Alguém consegue perceber meu erro?

Aqui está o que eu fiz:

# write dircolors file:
dircolors -p > ~/.dircolors

# add a line
echo >> ~/.dircolors
echo ".*~ 01;34" >> ~/.dircolors

# apply changes to LS_COLOR
eval "$(dircolors -b ~/.dircolors)"

Agora, quando eu faço

echo $LS_COLORS

Eu obtenho uma longa linha com o seguinte começo e fim:

rs=0:di=01;34:ln=01;36: ... *.xspf=00;36:*.*~=01;34:

Então, eu diria que os arquivos terminados em til ( ~ ) aparecem na mesma cor dos diretórios (especificados por di ), mas não funcionam.

    
por flonk 08.04.2016 / 15:22

1 resposta

3

Parece que você não pode fazer isso com dircolors , mas pode fazer isso modificando LS_COLORS diretamente:

eval "$(dircolors)"
LS_COLORS="${LS_COLORS}*~=01;34:"
export LS_COLORS

dircolors parece lidar apenas com três tipos de descritores: nomes de terminal (começando com TERM ), tipos de arquivo ( por exemplo. DIR ) e extensões começando com . . Estes últimos são expandidos prefixando-os com * ; Então, o .*~ se torna *.*~ , o que corresponde apenas aos arquivos de backup que contêm . . ls pode interpretar entradas mais gerais de LS_COLORS , como *~ , que corresponde a todos os arquivos que terminam com ~ .

    
por 08.04.2016 / 16:03