grep에 대한 작은 질문입니다.
나는 일을 해요:
find . -type d
세 개의 디렉토리가 있습니다.
./backup-2013-11-27
./backup-2013-11-26
./backup-2013-11-28
11월 26일의 항목만 검색하려면 다음을 수행합니다.
find . -type d | grep "2013.*11.*26"
효과가있다.
그러나 이유를 이해하지 못합니다.
find . -type d | grep "2013*11*26"
작동하지 않습니다...
사실 여기서는 정규식을 사용하지 않고 패턴을 사용하고 있으므로 패턴을 *
와일드카드로 사용해야 할까요?
답변1
grep
korn 쉘과 다른 정규식 일치를 사용합니다.
그렇기 때문에 grep에는 include .*
(모든 문자와 0번 이상 일치)가 필요합니다. ksh
(및 ) 에서는 해당 패턴 bash
만 사용합니다 .*
이 grep
접근 방식을 정규식 패턴 및 ksh
와일드카드 패턴이라고도 합니다.