Me gustaría agregar esta cadena de comandos a alias para tener una abreviatura:
tail -10000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10
Sin embargo, como alias no funciona como debería:
alias ttn="tail -10000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10"
Intenté usar comillas simples en lugar de comillas dobles o usar un carácter de escape \
antes de las comillas de awk, pero ninguna funcionó. Así que agradezco tu ayuda.
Respuesta1
De acuerdo a lo pedido:
Ésta es una de las razones por las que las funciones son mejores que los alias: puedes evitar las citas infernales.
ttn() { tail -10000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10; }
o, más legible
ttn() {
tail -10000 /var/log/nginx/access.log |
awk '{print $1}' |
sort |
uniq -c |
sort -nr |
head -10
}
u otro estilo de varias líneas:
ttn() {
tail -10000 /var/log/nginx/access.log \
| awk '{print $1}' \
| sort \
| uniq -c \
| sort -nr \
| head -10
}