GuilinDev

Lc0194

05 August 2008

194. Transpose File

将一个文件的内容转置(横竖交换)

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

```shell script 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

1
2
3
4
5
6
7
8
9

```shell script
ncol=`head -n1 file.txt | wc -w`

for i in `seq 1 $ncol`
do
    echo `cut -d' ' -f$i file.txt`
done