두 개의 열을 교환

두 개의 열을 교환

"클릭수"와 "도메인" 열을 바꾸려고 합니다.

cat filename산출:

  Hits          Domains
  204492        greenlivingasc.in
  37102         smcracks.uk
  17410         bahriains.org
  10975         cmhlahore.co.uk
  10342         albps.in
  9541          mediabites.co.uk

그러나 다음 명령을 사용하여 열을 바꾸면 awk '{ print $2 " " $1}' filename정렬되지 않은 형식이 출력됩니다.

 Domains    Hits       
 greenlivingasc.in 204492
 smcracks.uk 37102
 bahriains.org 17410
 cmhlahore.co.uk 10975
 albps.in 10342
 mediabites.co.uk 9541

교체 후 올바른 정렬을 얻고 싶습니다.

답변1

column -t결과 에 다음과 같이 입력해야 합니다 .

awk '{ print $2 " " $1}' file.txt | column -t

답변2

columnmau 도움말과 같은 솔루션:

:~$ column -t 123
Hits    Domains
204492  greenlivingasc.in
37102   smcracks.uk
17410   bahriains.org
10975   cmhlahore.co.uk
10342   albps.in
9541    mediabites.co.uk

또 다른 방법은 다음을 사용하는 것입니다 expand.

:~$ cat 123 | expand --tabs=10
Hits          Domains
204492        greenlivingasc.in
37102         smcracks.uk
17410         bahriains.org
10975         cmhlahore.co.uk
10342         albps.in
9541          mediabites.co.uk

아니면 awk 표현을 바꿔보세요:

 cat 123 | awk -v cols=1 '{printf("%-44s",$0)} NR%cols==0 {print ""} END {print ""}'

관련 정보