디렉토리 트리에서 재귀 적으로 특정 정규식을 준수하는 이름을 가진 모든 파일을 단일 dired 버퍼로 가져올 수 있습니까?
한 번에 이름을 바꾸거나 삭제할 수 있습니까?
find-dired+.el
는 향상된 명령 버전을 제공합니다 find-name-dired
. (1) 최소 및 최대 검색 깊이와 (2) 검색에서 제외 할 경로를 지정하는 선택적 인수를 허용합니다.
디렉토리 트리에서 재귀 적으로 특정 정규식을 준수하는 이름을 가진 모든 파일을 단일 dired 버퍼로 가져올 수 있습니까?
한 번에 이름을 바꾸거나 삭제할 수 있습니까?
find-dired+.el
는 향상된 명령 버전을 제공합니다 find-name-dired
. (1) 최소 및 최대 검색 깊이와 (2) 검색에서 제외 할 경로를 지정하는 선택적 인수를 허용합니다.
답변:
사용하다
M-x find-name-dired
와일드 카드에 따라 파일을 가져옵니다.
"~ / org /"디렉토리에서 접미사가 "org"인 모든 파일을 찾으십시오. 다음을 입력
M-x find-name-dired
~/org
*org
즐길 수 있습니다.
사용하다
M-x find-dired
정규식에 따라 파일을 가져 오는 데 적합한 인수가 있습니다.
"~ / org /"디렉토리에서 접미사가 "org"인 모든 파일을 찾으십시오. 다음을 입력
M-x find-dired
~/org
-regex ".*org$"
즐길 수 있습니다.
*org
수동으로 입력하지 않고 자동으로 확인하는이 프로세스를 자동화 할 수 있습니까?
my-find-orgfiles ()
"t"와 "Q"// 선택은 모든 및 적용하는 것이 다음에? @Marco Wahl
정규식을 사용하려면을 사용해보십시오 find-lisp-find-dired
. 이 명령은 표준 lib에 속합니다. find-lisp 는 elisp로 완전히 작성되었습니다. 즉, 외부 find
프로그램 을 설치할 필요가 없습니다
.
예를 들어, 다음은 ~ / lisp 디렉토리에 확장자가 '.el'인 모든 파일을 보여줍니다.
M-x find-lisp-find-dired RET ~/lisp RET \.el\' RET
(경기가 영광입니다 case-fold-search
).
다음 Emacs 릴리즈 (v26.1) 이후 Dired는 파일 이름 인수의 디렉토리 부분에서 wilcard를 지원합니다. 그것은 다음과 같은 작품을 의미합니다.
C-x d ~/soft/*/*.c RET
(대소 문자를 구분합니다.)
이 명령은 확장자가 '.c'인 '~ / soft' 아래 의 2 단계 깊이를 가진 모든 파일을 Dired 버퍼에 표시합니다 . 즉, '~ / soft / foo / bar.c' 와 같은 모든 파일 이 나열되지만 '~ / soft / qux.c' 또는 '~ / soft / foo / baz / qux.c' 와 같은 파일은 표시되지 않습니다 .
동일하지만 대소 문자를 구분하지 않습니다.
C-x d ~/soft/*/*.[cC] RET
elisp, 'ls-lisp'또는 'eshell-ls'에 구현 된 'ls'로 Dired를 실행하는 경우 다음 구문을 사용 하여 와일드 카드와 일치하는 모든 파일을 재귀 적으로 나열 할 수 있습니다 .
C-x d ~/soft/**/*.c RET
'**'에 유의하십시오. 이 경우 '~ / soft / qux.c' 조차 와일드 카드와 일치하는 '~ / soft' 아래 의 모든 파일 이 표시 됩니다.
그러나 insert-directory-program
와일드 카드를 사용 하는 경우 시스템 셸에서 확장합니다. 즉,이 재귀 '**'구문은 쉘에서 지원하는 경우에만 작동합니다. 예를 들어 zsh는 지원하지만 bash는 지원하지 않습니다. zsh가 아닌 다른 쉘에서 이전 명령은 다음과 동일하게 수행됩니다.
C-x d ~/soft/*/*.c RET