하나의 for 루프를 사용하여 여러 문자열을 반복하여 Unix 스크립트에서 일련의 파일 복사 작업을 수행하려고합니다.Ksh에서 여러 문자열을 반복하는 방법
file1="${HOME_PATH}/data1.dat"
file2="${HOME_PATH}/one/model1/data2.dat"
file3="${HOME_PATH}/two/model2/data3.dat"
file4="${HOME_PATH}/three/model3/data4.dat"
file5="${HOME_PATH}/three/model4/data5.dat"
file6="${HOME_PATH}/three/model5/data5.dat"
나는 특정 디렉토리에 이들 각각을 복사하려면 :
dest1="${DEST_PATH}/data1.dat"
dest2="${DEST_PATH}/one/model1/data2.dat"
dest3="${DEST_PATH}/two/model2/data3.dat"
dest4="${DEST_PATH}/three/model3/data4.dat"
dest5="${DEST_PATH}/three/model4/data5.dat"
dest6="${DEST_PATH}/three/model5/data5.dat"
가 각 파일의 위치를 나열하는 방법을
그래서 디렉토리를 나타내는 캐릭터 라인의 번호가 부여 위의 작업을 수행 한 것처럼 간단히 for 루프를 사용하면 ...
for each i in {1..6}
do
cp file[i] dest[i]
done
'find '와'mkdir -p $ {filename % * /}'와'cp'를 사용하면 어떨까요? 너? 하위 경로에 접미어를 지정할 필요가 없으며 반복 할 필요가 없습니다. –
죄송합니다 얘들 아, 이후 내가 KSH에 대한 구현이 바스 (무 이해는 구문이 다를 것입니다) 'set -A fnames "<여섯 개의 파일 경로 " 세트 -A의 dnames"<여섯 개 대상 경로> " VAR = $ 0에서 F위한 {fnames [@]} \t \t 메아리 함"I가 F $ 복사하고 $ {dnames [VAR]} "; \t \t var = $ ((var + 1)) \t done' –