给定一个文件 file.txt
,转置它的内容。
你可以假设每行列数相同,并且每个字段由 ' '
分隔。
示例:
假设 file.txt
文件内容如下:
name age
alice 21
ryan 30
应当输出:
name alice ryan
age 21 30
一解
// 根据第一行,计算出有几列
col=`head -1 file.txt | wc -w`
for (( i = 1; i <= $col; i++ )); do
// 输出第 i 列,使用 xargs 将其转置成横向
awk -v col=$i '{print $col}' file.txt | xargs
done