ヘッダーとタイプが同じすべてのファイルをインポートする

ヘッダーとタイプが同じすべてのファイルをインポートする

cat同じ名前のファイルをすべて1つのファイルに入れてタイピングをしてみました。

たとえば、cat out1.csv out2.csv out3.csv > out.csv。しかし、私のデータセットが大きすぎてこれをやろうとしましたcat out/*.csv > out.csv。動作しません。

私はシェルスクリプトの初心者です。誰かが私が何を間違っているのか、それを修正する方法を教えてもらえますか?

ベストアンサー1

シェルを含むzsh:

autoload zargs
zargs -- out<->.csv(n) -- cat > out.csv

名前で始まり、outその後に小数点が続くすべてのファイルを連結してから数字.csvでソートします。必要に応じて、コマンドを複数のコマンド呼び出しに分割して、コマンドに渡すことができる引数の制限を解決できます。nout.csvzargs

bashshellのGNU実装を使用すると、xargs次のことができます。

xargs -r0a <(
  shopt -s failglob extglob
  pattern='out+([0123456789]).csv' IFS=
  printf '%s\0' $pattern | sort -zV) cat > out.csv

おすすめ記事