자동화된 프로그램을 사용하여 다양한 라이브러리에 배포된 일부 파일을 추출하고 싶습니다.
내 파일이 삭제되었습니다:
"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까지입니다.등
십진수(X=10, X=20, X=30, ... path/instantaneous_fields/
,
10년 숫자만 선택하는 방법을 모르겠습니다. 도와주세요?
게다가 파일 하나당 무게가 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