Pipe através do comando cut -c 1-3,14-
. ajustar os números, se você precisar ajustá-lo. Do man cut
para mais detalhes.
Na minha configuração personalizada do ZSH, tenho esta função:
cll() { ls -AlhG "$@" | 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}'; }
Produz:
➜ test cll
total 32
644 -rw-r--r-- 1 work admin 0B Oct 7 18:55 .hidden
644 -rw-r--r-- 1 work admin 480B Aug 22 2016 gulpfile.js
644 -rw-r--r-- 1 work admin 149B Jan 7 2017 index.php
755 drwxr-xr-x 247 work admin 8.2K Aug 22 2016 node_modules
644 -rw-r--r-- 1 work admin 1.0K Aug 22 2016 test.less
644 -rw-r--r-- 1 work admin 664B Aug 22 2016 test.min.css
755 -rwxr-xr-x 1 work admin 0B Oct 7 18:54 try
Ele também suporta cores, então meus arquivos executáveis e tais têm cores bonitas:)
Desejo remover a coluna de divisão de permissões (ex: -rw-r--r--
) dela. Então eu quero que seja assim:
644 1 work admin 0B Oct 7 18:55 .hidden
644 1 work admin 480B Aug 22 2016 gulpfile.js
644 1 work admin 149B Jan 7 2017 index.php
755 247 work admin 8.2K Aug 22 2016 node_modules
644 1 work admin 1.0K Aug 22 2016 test.less
644 1 work admin 664B Aug 22 2016 test.min.css
755 1 work admin 0B Oct 7 18:54 try
Eu tentei mexer com isso, mas tudo que eu faço, isso quebra. Estou aberto a um método completamente diferente (não percorrendo awk
).
Solução final:
Obrigado ao @Skaperen por trazer cut
para minha atenção. Eu canalizei a função e funcionou muito bem! Aqui está a saída agora:
➜ test cll
total
644 work admin 0B Oct 7 18:55 .hidden
644 work admin 480B Aug 22 2016 gulpfile.js
644 work admin 149B Jan 7 2017 index.php
755 work admin 8.2K Aug 22 2016 node_modules
644 work admin 1.0K Aug 22 2016 test.less
644 work admin 664B Aug 22 2016 test.min.css
755 work admin 0B Oct 7 18:54 try
Aqui está a função do meu aliases.zsh
(configuração personalizada):
cll() { ls -AlhG "$@" | 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}' | cut -c 1-5,21-; }
A única coisa que tornaria isso perfeito, é se eu pudesse adicionar uma coluna personalizada para analisar se é um "Diretório", "Arquivo", "Link simbólico", etc.
Tags ls text-processing pipe awk oh-my-zsh