2012-08-11 5 views

답변

0

더 예쁜 당신의 출력을 만들려고 노력하는 경우, column 사용

$ printf "%s %s %s\n" one two three four five six seven eight nine 
one two three 
four five six 
seven eight nine 

$ printf "%s %s %s\n" one two three four five six seven eight nine | column -t 
one two three 
four five six 
seven eight nine 
0

가장 쉬운 방법은 형식 너비 지정자를 사용하는 것입니다. 귀하의 데이터에 따라 다릅니다.

{ 
    for (i = 1; i <= NF; i++) { 
     printf("%9s ", $i); 
    } 
    printf("\n") ; 
} 

위의 9 개 문자 폭의 공간에서 각 필드를 인쇄 할 수 awk가 알려주는 %9. 데이터가 9 자보다 넓은 경우, awk는 필요한만큼의 공간을 사용합니다.

printf()은 매우 유연합니다. 예를 들어 네 개의 필드가있는 입력 파일의 경우 출력 형식을 제어하기 위해 이와 같은 작업을 수행 할 수 있습니다.

printf("%d %9s  $d: %s\n", $1, $2, $3, $4); 

Format width in GNU gawk

0

이 당신을 위해 작동 될 수 있습니다

cat <<\! >file 
> a b c d 
> w x y z 
> ! 
cat file 
a b c d 
w x y z 
awk -v OFS='  ' '{$1=$1};1' file 
a  b  c  d 
w  x  y  z 
관련 문제