몇 개의 파일이 포함 된 디렉토리가 있으며 일부 파일에는 이름에 공백이 있습니다.
Test workspace/
Another directory/
file1.ext
file2.ext
demo 2012-03-23.odp
$(wildcard)
이 디렉토리에서 GNU의 명령을 사용한 다음를 사용하여 결과를 반복하여 $(foreach)
모든 것을 인쇄합니다. 코드는 다음과 같습니다.
FOO := $(wildcard *)
$(info FOO = $(FOO))
$(foreach PLACE,$(FOO),$(info PLACE = $(PLACE)))
인쇄 된 내용은 다음과 같습니다.
Test workspace
Another directory
file1.ext
file2.ext
demo 2012-03-23.odp
실제로 얻을 수있는 것은 다음과 같습니다.
Test
workspace
Another
directory
file1.ext
file2.ext
demo
2012-03-23.odp
후자는 분명히 나에게 쓸모가 없습니다. 문서 에 대한 $(wildcard)
이 완전히 "이름의 공백으로 구분 된 목록"을 반환하지만 플랫 아웃 상태는 큰 문제가이 인상을 인정하는 데 실패합니다. 도 아니다 않는 문서 를 들어 $(foreach)
.
이 문제를 해결할 수 있습니까? 그렇다면 어떻게? 공백을 제거하기 위해 모든 파일과 디렉토리의 이름을 바꾸는 것은 옵션이 아닙니다.
$?
와$@
. 관심이 있으시면 아래 내 대답을 참조하십시오. 루이는 틀렸어요. 작동합니다. 자유롭게 직접 테스트