複数の列を含む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
ここで問題を特定するのに役立ちます。これはシェルになければなりません。
答え1
私はそれについて考えており、最終的に次の出力を実行するにはコマンドが必要です。
awk -F, '{print >$1"_"$7".csv"}' infile