次のディレクトリ構造があります。
top_dir
|________AA
|_______f1.json
|_______f2.json
|________BB
|_______f1.json
|_______f2.json
|________CC
|_______f1.json
|_______f2.json
次の構造を得るためにスクリプト/コマンドラインコマンドを作成したいと思います。
new_dir
|_______f1_AA.json
|_______f2_AA.json
|_______f1_BB.json
|_______f2_BB.json
|_______f1_CC.json
|_______f2_CC.json
ファイルの名前変更と移動されたファイルのコピーに関するいくつかの解決策を読んでみました。しかし、まだこの問題を解決できませんでした。ありがとうございます!
ベストアンサー1
ループを使用してください。
mkdir /path_to/new_dir
cd /path_to/top_dir
for i in */*.json; do
cp "$i" "/path_to/new_dir/$(basename "$i" .json)_$(dirname "$i").json"
done
$(basename "$i" .json)
サフィックスなしでファイル名を印刷します。f1
$(dirname "$i")
ディレクトリ名を印刷します。例:AA