Skip to content

Latest commit

 

History

History
75 lines (53 loc) · 1.24 KB

File metadata and controls

75 lines (53 loc) · 1.24 KB
comments difficulty edit_url tags
true
Medium
Shell

中文文档

Description

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.

Example:

If file.txt has the following content:

name age
alice 21
ryan 30

Output the following:

name alice ryan
age 21 30

Solutions

Solution 1: awk

Shell

# Read from the file file.txt and print its transposed content to stdout.
awk '
{
  for (i=1; i<=NF; i++) {
    if(NR == 1) {
      res[i] = re$i
    } else {
      res[i] = res[i]" "$i
    }
  }
}END {
  for (i=1;i<=NF;i++) {
    print res[i]
  }
}
' file.txt