0
공백을 포함하는 모든 파일 이름을 파이프에 전달하거나 최소한 공백을 포함하는 파일을 전달하는 방법이 있습니까? 이를 위해 나는 시도 :find -print0 -name "* *"(공백)
보시다시피~/Desktop> find . -type f -mindepth 1 -maxdepth 1 -name "* *" | wc -c
0
~/Desktop> find . -type f -mindepth 1 -maxdepth 1 -print0 -name "* *" | wc -c
247
~/Desktop>
는 -print0없이 명령이 정확하게 현재 디렉토리에 공백이 포함 된 어떤 파일을 발견하지 않습니다. 그러나 -print0을 추가하면 -name 옵션이 예상대로 해석되지 않습니다.
-name "* *"
보다
더 나은는 공백뿐 아니라 공간을 지정하는 몇 가지 방법이 될 것입니다. perl 정규식을 사용하여 "downstream"처리를 사용하는 대신 find를 사용하는 것이 이상적입니다. 궁극적으로 필자는 지정된 문자로 공백 문자를 대체 할 스크립트에 파일 이름을 파이프하고자합니다.
이 방식이되는
-print
조치가-name
필터 앞에 오는 있기 때문에 하나 하나 이름을 인쇄합니다 "touch foo $ '\ r'bar" –'-name'* [[: space :]] * ''에 의해 생성 된 파일과 같이 탭과 리턴과 같은 "pathological"공백을 포함하는 파일 이름을 지정하십시오. –