CSVから一番上の行を削除してからマージ

CSVから一番上の行を削除してからマージ

1つの場所に類似のCSVファイルが複数あります。これらのファイルを1つのファイルにマージする必要があります。しかし、問題は、私のCSVファイルのヘッダーの上部に追加の行があることです。行を削除してcsvをマージしたいです。

上部に追加の行がない場合は、次のことができることがわかります。

cat *UNSTRUCTURED.csv > Merged_UNSTRUCTURED.csv

しかし、問題はどのように親ラインを削除するのか。さらに、すべてのファイル名はUNSTRUCTUREDと同じパターンを持ちます。

ここに画像の説明を入力してください。

ベストアンサー1

代わりに、以下catを使用してください。

awk 'FNR>2 || NR==2' ./*UNSTRUCTURED.csv > UNSTRUCTURED-Merged.csv

すべてのファイルの最初の2行(追加行とヘッダー行)はスキップされますが、最初のファイルの2行目(ヘッダー)は保持されます。

NR入力全体のレコード数(記録存在するワイヤーデフォルトでは、whileはFNR現在のファイルのレコード番号です。

最初の2行を削除みんなファイル(ヘッダーなしの出力結果)を使用するには、単にまたはawk 'FNR>2'GNU sedsed -s 1,2dまたはGNUまたはtail互換性(ast-open、FreeBSD、およびbusyboxを含む):を使用してくださいtail -qn+3

おすすめ記事