*.csv
多くのCSVファイル()があるフォルダを考えてみましょう。彼らはすべて同じヘッダーを持っています。
同じヘッダーを持つ単一のCSVファイルにすべて効率的にリンクするにはどうすればよいですか?
似ていますが、より具体的な問題に対する多くの解決策が見つかりました。
現在awk
、ソリューションは機能していません。
$ cat concat_my_csv_files.sh
#!/usr/bin/env zsh
awk '
FNR==1 && NR!=1 { while (/^<header>/) getline; }
1 {print}
' $1/*.csv > $2
$ ./concat_my_csv_files /some/path/to/csv/files/ full_join.csv
私がするとき:
grep -F column_A full_join.csv
私はそれといくつかの行を見る。
ベストアンサー1
awk '
NR == 1 {print}
FNR == 1 {next}
{print}
' *.csv
このNR
変数はすべての入力レコードの数です。
このFNR
変数は単に現在のファイルのレコード番号です。
これは、awkが表示する最初の行(最初のファイルのヘッダー)を印刷し、各ファイルの最初の行をスキップして他のすべての行を印刷します。