Transpose File

1348 단어 File
Given a text file file.txt , transpose its content.
You may assume that each row has the same number of columns and each field is separated by the ' ' character.
For example, if file.txt has the following content:
name age

alice 21

ryan 30


Output the following:
name alice ryan

age 21 30

awk '

{ 

    for (i=1; i<=NF; i++)  {

        a[NR,i] = $i

    }

}

NF>p { p = NF }

END {    

    for(j=1; j<=p; j++) {

        str=a[1,j]

        for(i=2; i<=NR; i++){

            str=str" "a[i,j];

        }

        print str

    }

}' file.txt

http://stackoverflow.com/questions/1729824/transpose-a-file-in-bash
깨달음:
1,awk에서 두 자리 그룹의 정의
2, 순환 제어의 오프라인(NR, NF)
3. awk의 링크 조작은 몇 개의 변수를 나란히 쓰는 것이 새로운 변수이다

좋은 웹페이지 즐겨찾기