Adicione a cor personalizada alias ls
Pergunta
Eu criei um alias para exibir as permissões em octeto formato:
alias lso="ls -l | awk '
{
k=0;
for (i=0;i<=8;i++)
k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));
if (k)
printf("%0o ",k);
print
}'
Eu também definir adicionado este código para exibir ls em um colorido formato:
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
O que eu estou pensando, é como fazer o meu alias exibir em um colorido formato bem?Também, se alguém poderia explicar a sintaxe do alias (após o pipe)?Eu copiei o texto e estou tentando aprender a ser capaz de sintetizar os comandos de como ele.
Solução
O padrão ls
fornecido com o OSX vem do BSD e não permite que você faça o que você quiser.
Usando CoreUtils ls (instalado com o macport está disponível com a gls
de comando)
Você vai ter suas cores utilizando --color=always
:
ls -l --color=always | awk '
{
k=0;
for (i=0;i<=8;i++)
k+=((substr($1,i+2,1)~/[rwx]/)*2^(8-i));
if (k)
printf("%0o ",k);
print
}'
Sobre o awk parte :
ls
saídas as permissões de arquivo de 9 caracteres.É por isso que existe um loop.- o
substr
retorna a cada passo, um dos char (incrementado índice 1 char de comprimento substring) ~/[rwx]
converte o char para 1 se se trata de umr
ou umw
ou umx
- a operação de trás só faz a operação a obter o resultado decimal
print("%0o ", k)
imprime apenas a octal resultado da vírgula decimal do valor calculado antes
Licenciado em: CC-BY-SA com atribuição
Não afiliado a apple.stackexchange