ツリーのディレクトリを /dir1/dir2/dir3/dir4 から /dir1/dir2/dir4/dir3 に置き換えます。

ツリーのディレクトリを /dir1/dir2/dir3/dir4 から /dir1/dir2/dir4/dir3 に置き換えます。

次のディレクトリのリストがあります。

  • stats/gauges/stock/market/PLN/EUR/*
  • stats/gauges/stock/market/USD/EUR/*
  • stats/gauges/stock/market/PLN/CZK/*

このようなものが何百ものあります。通話の順序を変更する必要があるため、次のようになります。

  • stats/gauges/stock/market/EUR/PLN/*
  • stats/gauges/stock/market/EUR/USD/*
  • stats/gauges/stock/market/CZK/PLN/*

このディレクトリ内には、より多くの入れ子になったディレクトリといくつかのファイルがあります。

Carbon + Whisper + Graphite私が実際に達成したいのは、インストーラが使用するデータ保存形式である統計の「命名」を修正することです。

最も簡単で信頼性の高い方法は何ですか?

ベストアンサー1

上記の例で常に6つのディレクトリがあることを確認できる場合は、次のようにして最後の2つのディレクトリを置き換えることができます。

find stats -mindepth 5 -maxdepth 5 -type d \    # (Or some other way of generating your list of directories)
| while read dir
do
     mv -v "$dir" "$(echo $dir | awk -F '/' '{ print $1"/"$2"/"$3"/"$4"/"$6"/"$5 }')"
done

echoまず確認するために1つを前に投げてみてくださいmv

ディレクトリの数を数えることができない場合は、「最後の2つを置き換える」より一般的な方法があると確信していますが、1つもわかりません。

おすすめ記事