Bash
不能在別名命令鏈中使用 awk
我想將此命令鏈添加到別名中以獲得速記:
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 的引號之前使用轉義字元,但沒有任何效果。所以感謝你的幫助。
按照要求:
這是函式優於別名的原因之一:您可以避免引用地獄。
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 }