![xargs와 함께 sed 사용](https://linux55.com/image/159646/xargs%EC%99%80%20%ED%95%A8%EA%BB%98%20sed%20%EC%82%AC%EC%9A%A9.png)
echo './2d41d907b7cb558db6f3ca49e992ad8/rendering/02.png' | xargs -I {} cp {} `echo {} | sed s'/\///g' `
이로 인해 다음과 같은 오류가 발생했습니다.
cp: './2d41d907b7cb558db6f3ca49e992ad8/rendering/02.png' and './2d41d907b7cb558db6f3ca49e992ad8/rendering/02.png' are the same file
sed가 작동하지 않는 것 같습니다 ...
나는 결국 이런 일을 하고 싶다
find . -name "*.png" | xargs -I {} cp {} ../`echo {} | sed s'/\///g' `
for 루프나 exec가 사용되지 않습니다.
답변1
대신 이 코드를 사용할 수 있습니다.
find . -type f -name '*.png' -exec sh -c 'echo cp "$1" ../"${1//\/}"' cp_sh {} \;
echo
테스트 실행 결과가 만족스러우면 삭제하세요.