Text-Processing
如何根據唯一列值對 csv 文件進行多次拆分?
我有一個包含多列的 csv 文件。這是我堅持的一個例子。以下是範例輸入數據:
9,-54,18205,28,0,1517400128,2353,0,0,0,0,551 9,-54,18207,28,0,1517400128,2354,0,0,0,0,551 10,-48,18216,28,0,1517400128,2353,0,0,0,0,551 9,-54,18217,28,0,1517400128,2356,0,0,0,0,551 13,-54,18223,28,0,1517400128,2353,0,0,0,0,551
我想根據第 1 列中的唯一值拆分數據,然後根據第 7 列中的唯一值進一步拆分結果。目前我正在嘗試通過首先根據第 1 列拆分工作表來實現這一點,然後我從目錄中讀取生成的 csv 文件,將其儲存在輸出 txt 文件中,然後進一步將輸出 txt 文件中的值作為變數並執行 awk 腳本以進一步拆分文件。但不知何故,第二次分裂並沒有按預期發生。以下是我到目前為止所做的:
awk -F\, '{print > $7".csv"}' $dir/../testfile.csv ls -R | grep "\.csv$" > testfile.txt while IFS= read -r a \n b \n c; do awk -F\, '{print > $1".csv"}' $dir/$a awk -F\, '{print > $1".csv"}' $dir/$b awk -F\, '{print > $1".csv"}' $dir/$c done < testfile.txt
請幫我確定這裡的問題。這必須在外殼中。
正如我所想的那樣,您最終需要此命令執行的以下輸出:
awk -F, '{print >$1"_"$7".csv"}' infile