별칭 명령 체인에서는 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

요청대로:

이것이 함수가 별칭보다 나은 이유 중 하나입니다. 인용을 피할 수 있습니다.

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
} 

관련 정보