1

私のファイルは、csvコンマ区切りのフィールドを持つファイルです。

最初のフィールドでファイルを複数のファイルに分割しようとしました。私は次のことをしました:

cat myfile.csv | awk -F',' '{print $0 > "Mydata"$1".csv"}'

ファイルは分割されますが、ファイルが破損しており、各ファイルの最後の行が完全ではありません。壊れる位置はランダムに見えます。誰も同じ問題を抱えていますか?

4

4 に答える 4

1

これらのタイプの問題は、入力ファイルを Windows で作成したため、行末に誤った control-M があるため、常に発生します。入力ファイルに対して dos2unix を実行してクリーンアップし、awk コマンドを再実行しますが、次のように書き直します。

awk -F',' '{print > ("Mydata" $1 ".csv") }' myfile.csv

いくつかの無関係な問題を解決します。

于 2013-09-18T16:20:29.727 に答える
0

次の awk コマンドを使用して、\rの前の文字を無視し\nます。

awk -F ',' -v RS='\r\n' '{print > ("Mydata" $1 ".csv") }' myfile.csv
于 2013-09-18T16:47:04.977 に答える