![쉘의 for 루프를 사용하여 두 파일을 변경하는 방법](https://linux55.com/image/126138/%EC%89%98%EC%9D%98%20for%20%EB%A3%A8%ED%94%84%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%91%90%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
for 루프를 사용하여 셸에서 파일을 만들고 싶습니다. sensor_1.nmf
, , 라는 이름의 3개 sensor_2.nmf
파일이 있고 sensor_3.nmf
소프트웨어를 사용하여 위의 각 파일에 대해 또 다른 7개의 Python 파일을 생성하려고 합니다. 즉, like , ... sensor_1
을 사용하여 7개의 Python 파일을 생성합니다 . 내 코드는 다음과 같습니다.r_sensor_1.py
r_sensor_2.py
for j in 1 2 3
do
for k in 1 2 3 4 5 6 7
nacs2.2 -l nacs_mphs -m sensor_${j}.nmf -p r_sensor_${k}.py r_sensor_${j}_${k}
done
done
그러나 이것은 작동하지 않습니다. 누구든지 나를 도와줄 수 있나요? 감사해요.
답변1
for 루프를 반복하는 대신 중괄호 확장을 사용할 수 있습니다.
nacs2.2 -l nacs_mphs -m sensor_${1,2,3}.nmf -p \
r_sensor_${1,2,3,4,5,6,7}.py r_sensor_${1,2,3}_${1,2,3,4,5,6,7}
답변2
내부 for 루프에 "do"가 누락되었습니다.
for j in 1 2 3
do
for k in 1 2 3 4 5 6 7
do
nacs2.2 -l nacs_mphs -m sensor_${j}.nmf -p r_sensor_${k}.py r_sensor_${j}_${k}
done
done