美文网首页
shell: transpose file

shell: transpose file

作者: W有来有去 | 来源:发表于2016-07-28 13:31 被阅读12次

Questions:

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

Solution:

awk '{
   for (f = 1; f <= NF; f++) { a[NR, f] = $f } 
 }
 NF > nf { nf = NF }
 END {
   for (f = 1; f <= nf; f++) {
       for (r = 1; r <= NR; r++) {
           printf a[r, f] (r==NR ? RS : FS)
       }
   }
}' file.txt

相关文章

网友评论

      本文标题:shell: transpose file

      本文链接:https://www.haomeiwen.com/subject/nqeajttx.html