.dir
이라는 폴더가 있습니다. 내가 ls -al | grep .dir
을 입력하면 검색 결과가 표시되지만 ls -al | grep *dir
또는 (*i*
, *d*
)을 입력하면 아무 것도 표시되지 않습니다. 나는 왜 그것이 일치하는 것을 찾지 못하는지 이해할 수 없다.Ls 명령 KornShell
2
A
답변
4
당신이 할 때 발생할 수 grep *dir
두 가지 예 (foodir
및 bardir
) 말할 dir
로 끝나는 아닌 숨겨진 파일이있는 경우
, 명령이
grep foodir bardir
로 확대 될 것이며 그 것 네가 기대하는대로하지 마라. 하나 개의 파일 또는 하나 이상의 거기에 또한 행동이- 이
dir
로 끝나는 더 숨겨지지 않은 파일이 없습니다 ... 따라 다릅니다, 다음*dir
확대하지만 그렙 호출에서 정규 표현식으로 사용되지 않습니다 . 그러나 grep의 별표는 여러 번 마지막 일치를 반복하는 데 사용되며 이전 문자가 없으므로 자체를 나타냅니다. 결론 : grep은 말 그대로 "* dir"을 찾고 있습니다.
첫 번째 문제는 인용 부호를 사용하십시오. 두 번째 사용 .*dir
(모든 문자에 대한 .
스탠드)의 경우 :
ls -la | grep ".*dir"
또는 당신은 당신의 디렉토리를보고 싶다면 : 당신이 \
와 .
를 탈출하지 않으면 것을
ls -la | grep "\.dir"
참고 그것을 쇼는 또한 다음과 같은 adir
, _dir
...
0
인용 부호 별표를 파일
grep
으로 전달되기 전에 expanded입니다. 디렉토리가.dir
디렉토리를 제외하고 비어있는 경우 즉, 의미,grep
에 전달 된 문자열 (배쉬에서, 내가 그들의 Korn 쉘의 등가물을 모르는)을dotglob
및nullglob
설정 상태에 따라 달라집니다$ cd -- "$(mktemp -d)" $ mkdir .dir $ shopt -u dotglob nullglob $ echo *dir *dir $ shopt -s nullglob $ echo *dir $ shopt -s dotglob $ echo *dir .dir
grep
은 regular expressions이 아니라 globs과 작동합니다.*
은 유효한 glob이지만 앞에는 아무 것도없는 유효한 정규 표현식이 아닙니다.
관련 문제
- 1. 리눅스에서 ls 명령 실행
- 2. 와일드 카드 KornShell (ksh)
- 3. KornShell 스크립트의 출력 파일에 명령 응답 쓰기
- 4. ls 명령 및 파일의 수명
- 5. ls 명령 행에 파이프 됨
- 6. ghci의 ls 또는 dir 명령
- 7. 유닉스 LS 명령 루프 성능
- 8. Kornshell (ksh) 파일 나열/정렬
- 9. KornShell (ksh) 둘러보기
- 10. KornShell 정규식
- 11. KornShell 스크립트의 if 문
- 12. ls 처리 방법 | C에서 "pipe"명령
- 13. ls - l 명령 행의 색을 표현하는 방법
- 14. Amazon EC2에서 파일을 나열하지 않는 LS 명령
- 15. Mercurial - 서버에서 파일을 표시하는 중 (ls 명령)
- 16. 명령 자식 LS-원격 번, 자식 클론
- 17. 리눅스에서 NTFS 용 ls 명령 구현하기
- 18. 유닉스 명령 'ls -lah'에 해당하는 Windows 명령 프롬프트는 무엇입니까?
- 19. KornShell (ksh)의 왼쪽 아래 키를 수정하십시오. 명령 행
- 20. LS
- 21. KornShell (ksh) 명령을 실행하기위한 Java 하위 프로세스
- 22. KornShell 부울 조건부 논리
- 23. KornShell 의사 코드에서 구현
- 24. KornShell 스크립트 평균 비교
- 25. popen 대 KornShell 보안
- 26. 모든 KornShell (ksh) 스크립트를 종료하십시오.
- 27. KornShell - 스크립트의 날짜 유효성 확인
- 28. KornShell - expr index 명령이 작동하지 않습니다.
- 29. 목록보기에 QProcess (ls) 캡처
- 30. Python long listing directory (ls -l), ls *