パラメータ拡張の問題

パラメータ拡張の問題

user/admin/1/2/[ac]サブディレクトリにはそれぞれ2つのファイルがあります。

このファイルは preQC_1.txt および preQC_2.txt です。どちらのファイルも私のツールへの入力として使用されます。

forループで "${f##*/}"をpreQC_1.txtとして使用しています。

for f in ~/1/2/*/*_1.txt; do exptool input1= "${f##*/}" input2= "{$f%_1.txt}_2.txt"

私のプログラムは "{$f%_1.txt}_2.txt"ファイルを表示し、パラメータ拡張を誤って使用していると100%確信しています。 input2の場合、「preQC_2.txt」(ファイル名+拡張子、ディレクトリリストなし)のみをインポートするにはどうすればよいですか?

編集:「${f##*/}」と{$f%_1.txt}_2.txt」を結合しようとしましたが、実際には「user/admin/1/2/a/preQC_1.txt_2.txt」に拡張されました。

ベストアンサー1

for f in ~/1/2/*/*_1.txt; do
    file_without_path="${f##*/}"
    exptool input1= "${file_without_path}" input2= "${file_without_pathf%_1.txt}_2.txt"
done

おすすめ記事