![필수 매개변수가 있는 여러 파일에 대해 cmd를 실행하는 방법그리고](https://linux55.com/image/194110/%ED%95%84%EC%88%98%20%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EA%B0%80%20%EC%9E%88%EB%8A%94%20%EC%97%AC%EB%9F%AC%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EB%8C%80%ED%95%B4%20cmd%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EA%B7%B8%EB%A6%AC%EA%B3%A0.png)
여러 파일을 생성하려면 filename.ext가 필요하고 파일을 넣을 디렉터리 이름도 필요한 도구가 있습니다. 제 경우에는 filename/ 이면 됩니다.
디렉터리:
파일 이름1.ext
파일 이름2.ext
cmd 파일 이름1.ext 파일 이름cmd
파일 이름2.ext 파일 이름2
find를 통해 이 문제를 해결하려고 노력해 왔지만 더 좋은 방법이 있을까요?
find . -iname "*.ext" -exec cmd ... ?
답변1
해결책을 찾았지만 그것이 최적인지 확실하지 않습니다.
find -iname "*.ext" -exec bash -c 'cmd "$1" "${1%.*}"' bash {} \;
cmd filename.ext filename
일치하는 각 파일이 호출됩니다.
ilkkachu의 의견을 바탕으로 솔루션이 업데이트되었습니다. 감사합니다!
답변2
<filename.ext>의 확장자가 무엇인지 알고 있다면 시도해 보십시오.
for i in *.ext; do cmd "$i" "$(basename -s .ext "$i")"; done