拡張子を持つすべてのファイルの名前を変更する必要があります.js
が、ファイル名が異なる場合があります。たとえば、次のようになります。
rootDirectory
--firstDirectory
----first.js
--secondFileDirectory
----second.js
--thirdDirectory
----third.js
次に、名前を変更する必要があります。
rootDirectory
--firstDirectory
----newName.js
--secondFileDirectory
----newName.js
--thirdDirectory
----newName.js
それを行う方法はありますか?
Ubuntu 14.04を使用しています
答え1
find
Ububtu 14にはこのオプションがあるバージョンがあるため、-execdir
比較的簡単になります。
find . -name '*.js' -execdir mv -i {} newName.js \;
たとえば、次のツリーがあります。
./A
./A/first.js
./B
./B/second.js
私はコマンドを実行します
$ find . -name '*.js' -execdir mv -i {} newName.js \;
結果ツリーは次のとおりです。
./A
./A/newName.js
./B
./B/newName.js
答え2
Perlベースrename
、pwd
rootDirectory仮定:
rename 's|(.*/).*\.js|$1newName.js|' */*
または
rename 's|.*/\K.*\.js|newName.js|' */*
rename -n
名前の変更がどのように進行するかを確認するには、次のようにします。