Ich möchte diese Befehlskette zum Alias hinzufügen, um eine Abkürzung zu haben:
tail -10000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10
Als Alias funktioniert es jedoch nicht wie es sollte:
alias ttn="tail -10000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10"
Ich habe versucht, einfache Anführungszeichen statt doppelter Anführungszeichen zu verwenden oder \
vor den Anführungszeichen von awk ein Escape-Zeichen zu setzen, aber nichts hat funktioniert. Ich bin also für Ihre Hilfe dankbar.
Antwort1
Wie gewünscht:
Dies ist ein Grund, warum Funktionen besser sind als Aliase: Sie können das Zitieren von „hell“ vermeiden.
ttn() { tail -10000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10; }
oder, besser lesbar
ttn() {
tail -10000 /var/log/nginx/access.log |
awk '{print $1}' |
sort |
uniq -c |
sort -nr |
head -10
}
oder ein anderer mehrzeiliger Stil:
ttn() {
tail -10000 /var/log/nginx/access.log \
| awk '{print $1}' \
| sort \
| uniq -c \
| sort -nr \
| head -10
}