확장자를 가진 모든 파일의 이름을 바꿔야 .js
하지만 파일 이름이 다를 수 있습니다. 예를 들면 다음과 같습니다.
rootDirectory
--firstDirectory
----first.js
--secondFileDirectory
----second.js
--thirdDirectory
----third.js
다음으로 이름을 바꿔야 합니다.
rootDirectory
--firstDirectory
----newName.js
--secondFileDirectory
----newName.js
--thirdDirectory
----newName.js
그것을 할 수 있는 방법이 있나요?
우분투 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
이름 바꾸기가 어떻게 진행되는지 확인하려면 다음을 사용하십시오.