find 명령을 사용하여 여러 파일에 대한 조인을 실행하려고 합니다.
공백이 포함된 파일 이름이 문제를 일으키는 것은 확실합니다.
다음 명령은 공백이 포함되지 않은 파일에 대해 작동하지만 파일 이름에 공백이 포함되어 있으면 실패합니다.
find /media/primary/acronis_ntfs/flickr_01/. -type f -name '*.*' | xargs cat > /media/primary/acronis_ntfs/flickr_01.txt
나는 또한 다른 명령을 시도했지만 모두 동일한 결과를 얻었습니다.
find /media/primary/acronis_ntfs/flickr_01/. -type f | xargs cat > /media/primary/acronis_ntfs/flickr_01.txt
폴더로 직접 가서 실행하면
cat * > flickr_01.txt
그것은 작동합니다 - 공간과 모든 것.
저는 우분투 16.10을 실행하고 있습니다.
어떤 제안이 있으십니까?
단순하다고 생각했던 일로 인해 머리카락이 빠졌습니다.
답변1
파일 이름 사이의 구분 기호로 NUL을 사용하고 xargs에게 동일한 내용을 찾도록 지시합니다.
find .... -print0 | xargs -0 ...