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を使用します)。ペアバイトですが、これについては議論しません)。