# Read from the file file.txt and print its transposed content to stdout.
194. 转置文件
给定一个文件 file.txt
,转置它的内容。
你可以假设每行列数相同,并且每个字段由 ' '
分隔。
示例:
假设 file.txt
文件内容如下:
name age alice 21 ryan 30
应当输出:
name alice ryan age 21 30
原站题解
bash 解法, 执行用时: 459 ms, 内存消耗: 3.8 MB, 提交时间: 2024-05-28 00:38:25
# Read from the file file.txt and print its transposed content to stdout. # 获取第一行,然后用wc来获取列数 COLS=`head -1 file.txt | wc -w` # 使用awk依次去输出文件的每一列的参数,然后用xargs做转置 for (( i = 1; i <= $COLS; i++ )); do # 这里col就是在代码里要替换的参数,而它等于$i awk -v col=$i '{print $col}' file.txt | xargs done
bash 解法, 执行用时: 68 ms, 内存消耗: 3.5 MB, 提交时间: 2019-04-06 20:17:35
# Read from the file file.txt and print its transposed content to stdout. row=`head -n1 file.txt | wc -w` for i in `seq 1 $row` do echo `cut -d' ' -f$i file.txt` done