LeetCode Solution, Medium, 194. Transpose File
194. Transpose File
題目敘述
Given a text file file.txt, transpose its content.
You may assume that each row has the same number of columns and each field is separated by the ' ' character.
Example:
If file.txt has the following content:
name age
alice 21
ryan 30
Output the following:
name alice ryan
age 21 30
題目翻譯
翻轉資料,將原本的行列互換。
解法解析
這邊是先使用 head -1 file.txt | wc -w | xargs seq 1 找出說總共有多少個欄位。之後將其結果當作參數,利用 xargs 丟到 cut -d ' ' -f{} file.txt | paste -sd ' ' - 將其翻轉。
解法範例
Bash
# Read from the file file.txt and print its transposed content to stdout.
head -1 file.txt | wc -w | xargs seq 1 | xargs -I{} -n 1 sh -c "cut -d ' ' -f{} file.txt | paste -sd ' ' -"