测试文件:
1 2 3 4
5 6 7 8
9 10 11 12
转置后效果
1 5 9
2 6 10
3 7 11
4 8 12
代码名:transpose内容如下:
- #! /bin/bash
- exec awk '
- NR == 1 {
- n = NF
- for (i = 1; i <= NF; i++)
- row[i] = $i
- next
- }
- {
- if (NF > n)
- n = NF
- for (i = 1; i <= NF; i++)
- row[i] = row[i] " " $i
- }
- END{
- for (i = 1; i <= n; i++)
- print row[i]
- }' ${1+"$@"}
文件名为:test
#chmod u+x transpose
#./transpose test