bashでは非常に基本的かもしれませんので、これは重複しないことを願っています。しかし、私はいつも他の結果で同様の問題を見つけます。私は多くのサブディレクトリを持っており、各サブディレクトリaaa.txt
にはサブディレクトリの唯一のtxtファイルであるファイルが含まれています。 txtファイル名は常に同じです(したがって、上記の例では各サブディレクトリで常に「aaa」です)。 txt ファイルにサブディレクトリ名を追加する必要があります。したがって、私が./AAA/aaa.txt
andを持っていると仮定すると、./BBB/aaa.txt
スクリプトの結果は次
./AAA/AAA_aaa.txt
のようになります。./BBB/BBB_aaa.txt
答え1
dirnameコマンドを使用してディレクトリ名を取得し、basenameコマンドを使用してファイル名をインポートしてから、目的の宛先名を設定できます。 1つのディレクトリレベルしか使用しないと仮定すると、次のように設定できます。
FILEPATH=AAA/aaa.txt
そして名前は次のように変更されました。
mv "$FILEPATH" "$(dirname "$FILEPATH")/$(dirname "$FILEPATH")_$(basename "$FILEPATH")"