题解 | #转置文件的内容#
转置文件的内容
https://www.nowcoder.com/practice/2240cd809c8f4d80b3479d7c95bb1e2e
#!/bin/bash # 读取文件的列数 column_count=$(awk 'END{print NF}' nowcoder.txt) # 遍历每一列,将每一列的内容转换成一行 for i in $(seq ${column_count}); do line=$(cat nowcoder.txt | cut -d " " -f ${i}) echo ${line} done
使用 awk
工具读取文件 nowcoder.txt
的列数。awk
的 END
块将在处理完所有输入行之后执行。该块中的 print NF
语句将输出当前行的字段数,即列数。
seq ${column_count}
命令将生成一个从 1 到 column_count
的数字序列。
cut -d " " -f ${i}
命令将根据空格分隔符切割每一行,并输出第 i
列的内容。