機略戦記

Maneuver warfare

異なるディレクトリに入った同名のファイルを1箇所にまとめたい

  • 異なるディレクトリに入った同名のファイルを1箇所にまとめたい。
  • ファイル名が同一なので、何かユニークな名前に変える必要がある。

結論

for i in `find . | grep .gz`
do
  before=$i
  after=`echo $before | sed 's/\.\///g' | sed 's/\//_/g'`
  `cp $before $after`
done

こんな感じ。

説明

こんな感じだとする。

find .
$ find . -type file
./dirctory_01/a.gz
./dirctory_02/a.gz
./dirctory_03/a.gz

上記のファイルがこうなる。

./dirctory_01_a.gz
./dirctory_02_a.gz
./dirctory_03_a.gz