ls -l에서 ^ d은 무슨 뜻인가요? grep ^ d?


13

내가 할 때 ls -l | grep ^d현재 디렉토리의 디렉토리 만 나열합니다.

내가 알고 싶은 것은 캐럿 ^^d무슨 뜻입니까?


관련 정보는 정규 표현식을 찾거나 grep에서 정규 표현식 사용에 대한이 페이지를 확인하십시오. robelle.com/smugbook/regexpr.html
Trey

이것은 작동하지만 차선책입니다. 고려 ls */또는 긴 목록 (없이 작동하는 대신 ls -l) 및 필요없이 grep(따라서 약간 빠른 매우이다)과 (보다 가능성이 적습니다 ls -l *로 실행) 인수 목록이 너무 오래 는 명령에 단지 디렉토리를두고 있기 때문에 (문제를 선). 물론 find . -maxdepth 1 -type d명령 줄이 전혀 혼란스럽지 않기 때문에 훨씬 좋습니다.
Adam Katz

답변:


21

맨 페이지에서 볼 수 있듯이 Andy의 대답 은 정확합니다.

정박

캐럿 ^ 및 달러 기호 $는 행의 시작과 끝에있는 빈 문자열과 각각 일치하는 메타 문자입니다.

그것이 작동하는 이유 는 긴 목록 형식을 사용하도록 하는 -l플래그 ls때문입니다. 각 줄에 표시되는 첫 번째 것은 파일에 대한 사람이 읽을 수있는 권한이며 그 첫 번째 문자 d는 디렉토리 또는 -파일에 대한 것입니다.


14

당근이 아닌 캐럿입니다. "라인의 시작"을 의미합니다. grep은 "d"로 시작하는 줄만 일치합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.