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
でソートします。必要に応じて、コマンドを複数のコマンド呼び出しに分割して、コマンドに渡すことができる引数の制限を解決できます。n
out.csv
zargs
bash
shellのGNU実装を使用すると、xargs
次のことができます。
xargs -r0a <(
shopt -s failglob extglob
pattern='out+([0123456789]).csv' IFS=
printf '%s\0' $pattern | sort -zV) cat > out.csv