ディスクへのファイルの関連付け

ディスクへのファイルの関連付け

次のような名前のファイルが複数あるとしましょう。

000001
000002
000003
...

これらの各ファイルはcsvファイルです(エスケープ文字を含めることができます)。このフォルダには~20GB合計データが含まれています。これらのファイルを1つの最終ファイルにリンクするには?

重要な場合は通常Zsh

答え1

cat <->.csv > all.csv

これは<->正の整数の10進数と一致し、すべての数字を(語彙順に、同じ数字順にゼロで埋められた数字で)連結しますall.csv

ただし、これによりディスク容量が2倍になります。元のファイルをアーカイブしたくない場合は、次の手順を実行します。

for i in <->.csv; do
  cat $i && rm -f $i || break
done > all.csv

答え2

リダイレクトを使用すると、コンテンツがファイルに追加または上書きされます。ファイルに追加するには、次のようにします。

cat file.csv file2.csv file3.csv >> all.csv

次のコマンドはall.csvを上書きします。

cat file.csv file2.csv file3.csv > all.csv

しかし、すべてのCSVファイルを特定のディレクトリ(追加)にある1つのCSVファイルに移動するとします。

cat *.csv >> all.csv

答え3

なぜこれらすべてのファイルを1つのファイルにまとめるのですか?

  1. 標準入力が必要なプログラムに入力するには、次の手順を実行します。

    cat *.csv | prog
    

    または、前述の他の組み合わせ方法のいずれかを使用します。

  2. プログラムに入力と呼ばれるファイルが必要な場合は、次のようにします。

    mkfifo p
    cat *.csv > p &
    prog p
    
  3. バックアップがより簡単なため、ファイルが必要な場合はすべてをまとめて圧縮すると便利です。解凍せずにファイルを読み取るには、tarファイルをフュージョンベースのファイルシステムに変換します。

関連情報