
내 프로젝트에는 *.ts
.
모두 폴더에 있지만 폴더 등이 __tests__
될 수도 있습니다 __tests__/test1.ts
.__tests__/dir2/test2.ts
해당 파일의 이름을 *.test.ts
.
어떻게 할 수 있나요?
예:
project/src/__tests__/app.ts
->project/src/__tests__/app.test.ts
project/src/dashboard/__test__/start/login.ts
->project/src/dashboard/__test__/start/login.test.ts
다음을 사용하여 해당 파일을 찾는 데 성공했습니다.
find . -type f -path '*__tests__*.ts'
하지만 이름을 바꾸는 방법을 모르겠습니다.
답변1
-exec
이름 바꾸기를 수행하려면 쉘을 호출하는 옵션이 필요합니다 .
find . -type f -path '*__tests__*.ts' -exec sh -c '
for f; do
mv -- "$f" "${f%ts}test.ts"
done
' findsh {} +
-exec sh -c
셸을 호출하고 다음을 실행합니다.for f; do mv -- "$f" "${f%ts}test.ts"; done
ts
발견된 파일을 반복하여 제거되고test.ts
해당 위치에 a가 배치되는 대상으로 이름을 바꿉니다 .
- 에서 는
findsh {} +
자리findsh
표시자일 뿐이며 명령(셸){} +
에 파일을 제공하는 구성입니다 .-exec