
自動化されたプログラムを使用して、さまざまなライブラリに配布されたいくつかのファイルを抽出したいと思います。
私のファイルが削除されました:
"dns_lata_X.sauv.lata.0.PRESSURE"
"dns_lata_X.sauv.lata.0.RHO"
"dns_lata_X.sauv.lata.0.VELOCITY"
ここで、X は 0 ~ 1500 の数値です。
YはrepY
39から69の数字です。
各ライブラリには、各タイプ(PRESSURE、RHO、およびVELOCITY)の約50個のファイルが含まれており、表示されているパスにありますpath/instantaneous_fields/
。
rep39
含む:
dns_lata_X.sauv.lata.0.PRESSURE
dns_lata_X.sauv.lata.0.RHO
dns_lata_X.sauv.lata.0.VELOCITY
Xの場合、1からZ0まで、ここでZ0は約50です(46から54の間)。
rep40
含む:
dns_lata_X.sauv.lata.0.PRESSURE
dns_lata_X.sauv.lata.0.RHO
dns_lata_X.sauv.lata.0.VELOCITY
Xの場合、Z0 + 1からZ1に移動します。ここで、Z1は約100です(96から104の間)。
rep41
含む:
dns_lata_X.sauv.lata.0.PRESSURE
dns_lata_X.sauv.lata.0.RHO
dns_lata_X.sauv.lata.0.VELOCITY
Xの場合、Z1+1からZ2までです。など
10進数(X = 10、X = 20、X = 30、... path/instantaneous_fields/
、
10年の数字だけを選択する方法がわかりません。助けてください?
さらに、1つのファイルあたりの重さは2.5GBで、コピーのサイズも大きいため(2.5GB * 3ファイル* 150ファイル= 1.125TB)、既存のコマンドよりも適切なコマンドを探していますcp
。
アルゴリズムがありますが、bash構文を理解していません。
for Y from 39 to 69
cd repY
max_X = X maximum
for X from 0 to max_X by step of 10
cp dns_lata_X.sauv.lata.0.PRESSURE dns_lata_X.sauv.lata.0.RHO dns_lata_X.sauv.lata.0.VELOCITY ../selected_files