![여러 파일의 이름을 한 번에 바꾸세요. 이 명령에 어떤 문제가 있나요? [복사]](https://linux55.com/image/174581/%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%ED%95%9C%20%EB%B2%88%EC%97%90%20%EB%B0%94%EA%BE%B8%EC%84%B8%EC%9A%94.%20%EC%9D%B4%20%EB%AA%85%EB%A0%B9%EC%97%90%20%EC%96%B4%EB%96%A4%20%EB%AC%B8%EC%A0%9C%EA%B0%80%20%EC%9E%88%EB%82%98%EC%9A%94%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
내 디렉터리에 여러 파일이 있습니다.
$ ls -1
04PD.001
04PD.002
04PD.003
04PD.004
04PD.005
이제 각 파일의 이름을 다음과 같이 변경하고 싶습니다.04PD.7z.0*
누구든지 이 명령에 어떤 문제가 있는지 말해 줄 수 있습니까?
$ find 04PD* -type f -print -exec mv \{\} `echo \{\} | sed "s/04PD\.0/04PD\.7z\.0/"` \;
결과는 매우 이상합니다.
$ find 04PD* -type f -print -exec mv \{\} `echo \{\} | sed "s/04PD\.0/04PD\.7z\.0/"` \;
04PD.001
mv: '04PD.001' and '04PD.001' are the same file
04PD.002
mv: '04PD.002' and '04PD.002' are the same file
04PD.003
mv: '04PD.003' and '04PD.003' are the same file
04PD.004
mv: '04PD.004' and '04PD.004' are the same file
04PD.005
mv: '04PD.005' and '04PD.005' are the same file
명령을 테스트하기 위해 명령을 간단한 에코로 변경했습니다.
$ find Pop*04PD* -type f -print -exec echo mv \{\} `echo \{\} | sed "s/04PD\.0/04PD\.7z\.0/"` \;
04PD.001
mv 04PD.001 04PD.001
04PD.002
mv 04PD.002 04PD.002
04PD.003
mv 04PD.003 04PD.003
04PD.004
mv 04PD.004 04PD.004
04PD.005
mv 04PD.005 04PD.005
참고: 루프를 사용하여 아주 훌륭하고 간단한 해결책을 이미 찾았으므로 다른 해결책을 찾기보다는 이 명령의 문제에 집중하시기 바랍니다.
어디에서 오류가 발생하는지 궁금합니다.