ディレクトリ名を使用してファイル名を変更するには?

ディレクトリ名を使用してファイル名を変更するには?

私の現在のファイル構造は次のとおりです。

  • 入力する
    • 1
      • 元NII
    • 2
      • 元NII

私はそれになりたいです:

  • 入力する
    • 1_pre.nii
    • 2_pre.nii

私が試した入力フォルダから:for i in */pre.nii; do echo $i_pre.nii; done

しかし、これは私に次のことを与えます:

    .nii
    .nii

私も次のことを試しました。for i in */pre.nii; do echo ${i%/*}; done これは私に次のことを与えました:

    1
    2

%しかし、文字列演算子を使用して正しいサフィックスを追加する方法がわかりません。

ベストアンサー1

/\1つを(エスケープして)次に置き換えるには_

for i in */pre.nii; do echo mv "$i" "${i/\//_}"; done

問題がなければ削除してくださいecho

おすすめ記事