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

관련 정보