여러 개의 슬래시를 하나로 결합하지 못하는 이유는 무엇입니까?

여러 개의 슬래시를 하나로 결합하지 못하는 이유는 무엇입니까?

find여러 연속 슬래시를 함께 병합하는 것과 같은 가장 간단한 경로 통합/단순화 작업을 수행하면 안 된다는 것이 사실입니까 (이는 원래 형태와 동일합니다.)?

예를 들어 출력은 다음 find .///과 같습니다.

.///
.///somefile
[…]

( findGNU로 테스트 및 busybox)

그렇다면 왜? 내가 놓친 합리적인 사용 사례가 있나요? 누군가가 find내부 스크립트의 출력을 수집하고 있기 때문일까요 ?

find ./// -maxdepth 0 -printf '%h\n'%h그런데, GNU find for (의 출력이 다음 과 같아야 한다는 점도 흥미롭습니다."파일 이름의 선행 디렉터리(마지막 요소와 선행 슬래시를 제외한 모든 항목)"): .//(하나만 적음 /)

답변1

NUL 문자를 이해하는 유틸리티가 없는 경우 이 기록 동작을 사용하여 파일을 구별할 수 있습니다. find의 출력에는 초기 경로의 일부로 제공되지 않는 한 두 개의 연속 슬래시가 포함되지 않습니다. 이는 출력이 다음과 같다는 것을 의미합니다.

.//path/to/file
./name/more

file\n.find를 사용하여 호출하면 현재 디렉터리의 하위 디렉터리가 아니라 라는 디렉터리가 있음을 알려줍니다.name

find .// -print

관련 정보