특정 확장자를 가진 파일을 ls 및 grep으로 나열합니다.
현재 디렉터리에서 파일만 가져오고 다른 파일은 출력하지 않고 .mp4 .mp3 .exe 파일만 출력하고 싶습니다. 그래서 그냥 이렇게 하면 된다고 생각했습니다:
ls | grep \.mp4$ | grep \.mp3$ | grep \.exe$
하지만 첫 번째 grep은 mp4만 출력하므로 다른 두 개의 grep은 사용되지 않습니다.
어떤 아이디어 있으신가요? 추신, 이 스크립트를 Slow Leopard에서 실행 중입니다.
139
11
왜안돼요:
39 m, 어디서 배운 i& I& # 39, ve been 이를 통해 it - 하지만 확실하지 않다.
정규 표현식 사용할 수 있는 '찾기':
39 의 경우, re 파이핑이 you& 파일 이름:
이렇게 하면 공백이 들어 있는 파일 또는 줄 바꿈.
OS X '찾기' 대체 '- e 옵션을 사용할 때' (고급) 만을 지원합니다.
확장된 그렙인
egrep
가 도움이 될 것입니다.를 사용하면 됩니다.
가장 쉬운 방법은 ls
만일에 대비하는거야: # 39 찾기 ',' t you 사용하여 don& 왜?
그렙 필요 없음. 이 전략은 와일드카드를 쉘로 할 것이다.
실행할 경우
그럼 모두 탁월한 글롭 제거됨을 명령줄의 확장되지 않은 왼쪽 수 없습니다.
스케쳐내 대소문자를 구분하지 않는 글 로빙 (그러하매 *.mp3 foo 일치합니다. MP3):
Exe, mp3, mp4}, {사용하는 경우 'ls * 해당 오류를 발생시킬 것', 그 중 한 확장장치 주님으로부터그에게 결과를 얻을 수 있습니다.
. (Mp3 exe mp4) '' ls 사용하여 모든 파일을 반환되므로 일치하는 결과를 , * 0 의 경우에도 확장명은 확장명은 한 바 있다.
여전히 찾고 있는 경우 대체 솔루션:
Feel free to ᅦ 플래그 필요할 경우 추가.
'ls boot-r 핀스트 " .mp3"; '
ls - R ',' = > 서브디렉토리가 열거합니다 재귀적으로
여기에 한 가지 예를 들어 있는 협력했습니다 for me.