Unixスクリプトで限られたサイズのTARファイルを作成する

Unixスクリプトで限られたサイズのTARファイルを作成する
printf 'n Log-%02d.tar\n' {2..}|tar cf /var/opt/sw/e4/data/dev/e4_dev/DEVL3/EW/EWD1/DATA/AED/OUTPUT/Log-01.tar -ML1900m /var/opt/sw/e4/data/dev/e4_dev/DEVL3/EW/EWD1/DATA/AED/Temp

上記のコードを使用して、1.9 GBの別々のTARファイルとして保持する必要がある2 GBを超えるファイルサイズ(さまざまな)を持つ1000個のファイルをtarで試しました。

たとえば、7 GB サイズの 1,500 個のファイルがある場合は、4 つの tar ファイル (7 GB/1.9 GB) として保存する必要がありますが、 log-01.tar, ..., log-04.tar エラーが発生します。

printf: {2..} expected numeric value
tar: -ML1900m: No such file or directory

ここで何を変えるべきですか? GNU tarでボリューム作成方法を使用せずにこれを行う方法はありますか?

答え1

エラーメッセージには、デフォルトで「1900m」が「-L」の引数として認識されず、問題が何であるかが記載されており、マニュアルページでtarこれについて説明しています。メガバイト数を指定するには(非常に賢明です。「m」は「milli」の接頭辞なので、バイトの意味はありません)、大文字の「M」を使用する必要があります(tar実際にはmeを使用します)。ペアバイトですが、これについては議論しません)。

関連情報