.txtファイルを結合しますが、結合されたファイルを特定のサイズのブロックに制限します。

.txtファイルを結合しますが、結合されたファイルを特定のサイズのブロックに制限します。

.txt他のプログラムにインポートできるように結合したいファイルの束があります。プログラムは一度に 2 GB のパケットに制限されますが、ファイルの総数は 20 GB です。

.txtそれぞれ2GBの制限でファイルを結合して合計10x 2GBの結合ファイルを提供できますか?これをスクリプトに追加したいと思います。

次のコマンドを使用してスクリプトを実行しています。

cat $full/blank/ascii/*/*xyz > $full/blank/ascii/output.txt
split -b 2000m $full/blank/ascii/ouput.txt

しかし、私がこれを実行すると、次のようになります。

line 1: /blank/ascii/output.txt: no such file or directory.

また、ファイルの先頭にフルパスがあります。ファイルを分割して出力を別のフォルダに送信することも可能ですか?

答え1

まだ定義していない$fullので、コマンドはcat $full/blank/ascii/*/*xyz > $full/blank/ascii/output.txt空の文字列として評価されます。

cat /blank/ascii/*/*xyz > /blank/ascii/output.txt

#!また、通訳者はこれをスクリプトの最初の行に報告するため、通訳者を定義していないようです。私はあなたが書くすべてのスクリプトの冒頭にこれらのいずれかを与える習慣を聞くことを本当にお勧めします。

#!/bin/bash

full=/path/somewhere/...

cat $full/blank/ascii/*/*xyz > $full/blank/ascii/output.txt
split -b 2000m $full/blank/ascii/ouput.txt

関連情報