방금 달렸어grep -ri foo someDir/
나는 돌아왔다
someDir//foo/bar/baz: onDelete() {
이중 슬래시는 왼쪽에 있는 모든 항목이 grep에 제공하는 dir 매개변수에 있음을 의미합니까?
답변1
명령을 실행할 때:
grep -r <pattern> <directory>
모든 파일 이름을 <directory>/<filename>
. 끝에 슬래시를 추가하면 <directory>
슬래시도 포함되므로 이중 슬래시가 됩니다.
코드는 원래 디렉토리 이름이 언제 끝나는지 알아차리고 /
파일 이름을 인쇄할 때 이를 생략할 만큼 똑똑했을 수도 있지만 그들은 신경쓰지 않았습니다. 나는 그것에 대한 유일한 특별한 경우는 루트 디렉토리라고 생각합니다.
grep -r pattern /
/foo/bar/baz
대신에 가 인쇄됩니다 //foo/bar/baz
. 이는 POSIX가 일련의 슬래시가 단일 슬래시와 동일하게 처리되도록 지정하기 때문입니다.와는 별개로두 개의 선행 슬래시는 구현에 따라 의미가 있습니다(일부 네트워크 파일 시스템 메커니즘이 유사한 구문을 사용하기 때문입니다 //server/pathname
). 바라보다Linux는 여러 연속 경로 구분 기호(/home///username///files)를 어떻게 처리합니까?