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