
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
테스트 실행 결과가 만족스러우면 삭제하세요.