Aggiungi colore agli alias LS personalizzati
Domanda
Ho creato un alias per visualizzare le autorizzazioni in formato OCTET:
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
}'
.
Ho anche impostato questo codice per visualizzare LS in un formato colorato:
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
.
Quello che mi chiedo, è come rendere il mio alias visualizzato anche in un formato colorato? Inoltre, se qualcuno potesse spiegare la sintassi dell'alias (dopo il tubo)?Ho copiato il testo e sto cercando di imparare ad essere in grado di sintetizzare i comandi come questo.
Soluzione
Il ls
predefinito fornito con OSX proviene da BSD e non ti permetterà di fare ciò che desideri.
Utilizzo CoreUtils ls (installato con Macport è disponibile con il comando gls
) Otterrai i tuoi colori usando --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
}'
.
.
Informazioni sulla parte AWK:
- .
-
ls
Ulteriori informazioni Autorizzazioni di file come 9 caratteri.Ecco perché c'è un ciclo. - Il
substr
restituisce ad ogni passaggio uno dell'indice CHAR (indice incrementato, sottostringa da 1 char-lunghezza) -
~/[rwx]
converte il carattere su 1 se è unr
o unw
o unx
- L'operazione dietro solo l'operazione è il risultato decimale
-
print("%0o ", k)
stampa solo il risultato ottale del valore decimale calcolato prima di
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a apple.stackexchange