Python 스크립트를 실행하기 위해 linux 명령을 실행하려고 합니다.
for f in /mnt/data/service/fmriprep/geht/sub-P*; do (python 2_correlation.py -i
"$f" -o /mnt/data/service/corr_graph/correlation_P*.csv )
내 Python 스크립트는 -i 디렉토리의 입력 파일을 -oa new .csv로 반환합니다. 각 폴더 P*(P001, P002, P*)에 대한 Correlation_P*를 이 경로(/mnt/data/service/corr_graph/correlation_P*.csv에는 동일한 P001, P002, P*가 있음)로 반환하고 싶지만 중단되었습니다. .
답변1
루프가 반복될 때마다 "P" 뒤의 숫자를 추출하여 csv 파일 이름에 사용해야 합니다.
in_dir=/mnt/data/service/fmriprep/geht
out_dir=/mnt/data/service/corr_graph
for dir in "$in_dir"/sub-P*; do
num=${dir##*P}
python 2_correlation.py -i "$dir" -o "$out_dir/correlation_P${num}.csv"
done
답변2
@glenn jackman 정말 감사합니다. 제 실력이 향상됐어요. 그래서 나에게 도움이 된 명령은 다음과 같습니다.
for dir in /mnt/data/service/fmriprep/geht/sub-P*; do if [ -d "$dir" ]; then
num=${dir##*P} && python 2_correlation.py -i "$dir" -o
"/mnt/data/service/corr_graph/correlation_P${num}.csv";fi done