Transpose File

Desicription

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:

1
2
3
name age
alice 21
ryan 30

Output the following:

1
2
name alice ryan
age 21 30

Solution

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Read from the file file.txt and print its transposed content to stdout.
awk ' {
for(i = 1; i <= NF; i++) {
if(NR == 1) {
s[i] = $i;
}
else {
s[i] = s[i] " " $i;
}
}
}
END {
for(i = 1; s[i] != ""; i++) {
print s[i];
}
}' file.txt