我想將此命令鏈添加到別名中以獲得簡寫:
tail -10000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10
但是,作為別名,它不能正常工作:
alias ttn="tail -10000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10"
我嘗試使用單引號而不是雙引號,或者在 awk 的引號之前使用轉義字符\
,但沒有成功。感謝您的協助。
答案1
按照要求:
這就是函數比別名更好的原因之一:你可以避免引用 hell。
ttn() { tail -10000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -10; }
或者,更易讀
ttn() {
tail -10000 /var/log/nginx/access.log |
awk '{print $1}' |
sort |
uniq -c |
sort -nr |
head -10
}
或者,另一種多線樣式:
ttn() {
tail -10000 /var/log/nginx/access.log \
| awk '{print $1}' \
| sort \
| uniq -c \
| sort -nr \
| head -10
}