題目
給定一個(gè)文件 file.txt,轉(zhuǎn)置它的內(nèi)容暇务。
你可以假設(shè)每行列數(shù)相同泼掠,并且每個(gè)字段由 ' ' 分隔。
示例:
假設(shè) file.txt 文件內(nèi)容如下:
name age
alice 21
ryan 30
應(yīng)當(dāng)輸出:
name alice ryan
age 21 30
解題
思路:
- 利用awk記錄二維表垦细,在END部分做轉(zhuǎn)置
- %s择镇,表示一個(gè)字符串
代碼:
# Read from the file file.txt and print its transposed content to stdout.
awk '{
for (i = 1; i <= NF; i++) {
a[i,NR] = $i
}
}
END {
for (i = 1; i <= NF; i++) {
for (j = 1; j <= NR; j++) {
printf "%s", a[i,j]
if (j < NR) {
printf " "
}
}
if (i < NF) {
print ""
}
}
}' \
file.txt