====== fd ======
* https://github.com/sharkdp/fd
* 고속 파일 탐색. [[linux:find|find]] 보다 훨씬 빠르다.
* 검색 결과를 가지고 parallel 로 다른 명령을 실행하게 할 수 있다. - 기본 CPU core 갯수만큼의 쓰레드 생성.
===== 설치 =====
sudo apt-get install fd-find
alias fd=fdfind
===== 사용 =====
# 기본 - regex 로 검색
fd .*\Verdi.*.mp3
# glob 검색
fd -g *.mp3
# glob + hidden(.dir) 포함
fd --glob -hidden *.mp3
# 검색 결과에 명령실행. 끝에 세미콜론(;)을 만날때까지 명령으로 간주
# 검색 한건당 명령실행 (-x 소문자 / --exec)
fd -g *.mp3 -x ls -lah {};
# 검색 결과 전체를 한 번에 인자로 전달 (-X 대문자 / --exec-batch)
fd -g *.mp3 -X ls -lah {};
# 특정 디렉토리에서 검색 - 마지막 인자로 경로 지정
fd -g *.mp3 ~/Music
* ''%%-I, --no-ignore%%'' : 기본적으로 ''.gitignore'', ''.ignore'', ''.fdignore'' 파일에 지정된 것은 검색 결과에서 제거하는데, 이 옵션을 주면 모두 포함시킨다.
===== -x (--exec) Parallel 명령 실행 =====
* ''-x'' 옵션은 멀티 쓰레드로 명령을 실행한다.
* ''%%-j, --threads%%'' 로 쓰레드 갯수를 지정할 수 있으며, 기본은 CPU Core 갯수이다.
===== -x(--exec)/-X(--exec-batch) 검색 결과 대입 =====
* ''%%{}%%'': path - 파일의 전체 경로. 보통 이것 사용.
* ''%%{/}%%'': basename
* ''%%{//}%%'': parent directory
* ''%%{.}%%'': path without file extension
* ''%%{/.}%%'': basename without file extension