fd (CLI)
Notes
A simple, fast and user-friendly alternative to 'find'
Release notes
v8.0.0
· 1y+
Features
- Add a new
-l/--list-detailsoption to show more details about the search results. This is basically an alias for--exec-batch ls -lwith some additionallsoptions. This can be used in order to:- see metadata like permissions, owner, file size, modification times (#491)
- see symlink targets (#482)
- achieve a deterministic output order (#324, #196, #159)
- Add a new
--max-results=<count>option to limit the number of search results, see #472, #476 and #555 This can be useful to speed up searches in cases where you know that there are only N results. Using this option is also (slightly) faster than piping tohead -n <count>wherefdcan only exit when it finds the search results<count> + 1. - Add the alias
-1for--max-results=1, see #561. (@SimplyDanny). - Add new
--type socketand--type pipefilters, see #511. - Add new
--min-depth <depth>and--exact-depth <depth>options in addition to the existing option to limit the maximum depth. See #404. - Support additional ANSI font styles in
LS_COLORS: faint, slow blink, rapid blink, dimmed, hidden and strikethrough.
Bugfixes
- Preserve non-UTF8 filenames: invalid UTF-8 filenames are now properly passed to child-processes
when using
--exec,--exec-batchor--list-details. Infd's output, we replace non-UTF-8 sequences with the "�" character. However, if the output offdgoes to another process, we print the actual bytes of the filename. For more details, see #558 and #295. LS_COLORSentries with unsupported font styles are not completely ignored, see #552
Changes
- Colored output will now be enabled by default on older Windows versions.
This allows the use of colored output if the terminal supports it (e.g.
MinTTY, Git Bash). On the other hand, this will be a regression for users
on older Windows versions with terminals that do not support ANSI escape
sequences. Affected users can use an alias
fd="fd --color=never"to continue usingfdwithout colors. There is no change of behavior for Windows 10. See #469. - When using
--globin combination with--full-path, a*character does not match a path separation character (/or\\) anymore. You can use**for that. This allows things likefd -p -g '/some/base/path/*/*/*.txt'which would previously match to arbitrary depths (instead of exactly two folders below/some/base/path. See #404. - "Legacy" support to use
fd -exec(with a single dash) has been removed. Usefd -xorfd --execinstead. - Overall improved error handling and error messages.
Other
- Package maintainers on MacOS and Windows might think about adding (GNU)
lsas an optional dependency forfdto make full use offds new-l/--list-detailsoption. For MacOS,fdrelies onglswhich should be available viacoreutils. - Korean translation of the README, see: 한국어 (@spearkkk)