エイリアスコマンドチェーンでawkを使用できません

エイリアスコマンドチェーンで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 の引用符の前にエスケープ文字を使用したりしてみましたが、どれも機能しませんでした。ご協力に感謝いたします。

答え1

ご要望に応じて:

これは、関数がエイリアスよりも優れている理由の 1 つです。つまり、引用符の煩わしさを回避できるのです。

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
} 

関連情報