2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Bashでサブディレクトリも含めてディレクトリ内の全ファイルをリネームする方法

Last updated at Posted at 2016-02-26

はじめに

皆様はプロジェクト進んでしまって、一括でファイル名をリネームしたくなることってないでしょうか?
お恥ずかしい話ではありますが、自分が作っているアプリで発生したので、それについて共有したいと思います。

実例

自分のプロダクトではSpecs2を使用しているのですが、チームメンバーで共有できておらず、
一般的には

hogehogeSpec.scala

といった名前をつけるのが定説となっていますが、

hogehogeSpecs.scala

と複数形になっているファイルが400ファイルほどありました。(苦笑
また、フォルダ構成はアプリのプロジェクトが進んでいたこともあり、相当深いフォルダ構成となっておりました。

解決Bash

Findしたものをwhileでぶん回す作戦です。
それで出来上がったのが以下のとおり。

find . -type f -name "*Specs.scala" -print0 | 
while read -r -d '' file; 
    do mv "$file" "${file%%Specs.scala}Spec.scala"; 
done

ワイルドカードの部分を弄るだけで、他のリネームにも転用できますので、参考に使っていただけると幸いです。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?