Alexandru Macovei
1a16003cca
[ownership][errs] ':' and '' args to --owner result in noop; reject strings with more than one ':'
2020-05-18 21:11:33 +02:00
Alexandru Macovei
4f9a02400a
[ownership] add --owner arg parsing and storage
2020-05-18 21:11:33 +02:00
Alexandru Macovei
4f4330167a
Fix some clippy lints, and format
2020-05-01 14:08:53 +02:00
Seamus Connor
b22285ffe4
Fix --glob behavior with empty pattern
...
With an empty pattern, --glob results in no matches. This does not
align with the behavior of --fixed-strings or --regex. Update the
initialization code to handle globs with empty patterns.
2020-04-26 22:01:29 +02:00
Tobias Kortkamp
04bcd546b2
Also add NetBSD and OpenBSD
2020-04-16 20:33:32 +02:00
Tobias Kortkamp
4b5e8941a7
Fix --list-details on FreeBSD
2020-04-16 20:33:32 +02:00
sharkdp
cb56add1d8
Add new --type socket
and --type pipe
filters
...
closes #511
2020-04-16 09:59:45 +02:00
sharkdp
4287cddc00
Add test
2020-04-15 23:32:28 +02:00
sharkdp
0b7febc3b6
Windows support (if GNU ls is installed)
2020-04-15 23:32:28 +02:00
sharkdp
d91100e354
Add comment why we prefer gls
2020-04-15 23:32:28 +02:00
sharkdp
0f5500adfc
Do not show output of 'gls --version'
2020-04-15 23:32:28 +02:00
sharkdp
2685728695
Add MacOS support for -l/--list-details
2020-04-15 23:32:28 +02:00
sharkdp
3b42898a69
Always enable colors on Windows, closes #469
2020-04-15 19:23:59 +02:00
sharkdp
d63c63be8c
Add --min-depth and --exact-depth
...
Add new `--min-depth <depth>` and `--exact-depth <depth>` options in addition to the existing
option to limit the maximum depth.
closes #404
2020-04-15 17:02:41 +02:00
sharkdp
47974b6479
--glob: '*' does not match on path separators
2020-04-15 16:41:56 +02:00
Danny Mösch
2bab4a2249
Add alias -1 for --max-results=1
2020-04-10 21:39:30 +02:00
sharkdp
6c9e743d43
Print path as raw bytes, allowing invalid UTF-8 filenames to be passed to other processes
2020-04-04 18:46:08 +02:00
sharkdp
7e3c69c096
Reimplement dirname, basename, remove_extension for OsStr
2020-04-04 18:46:08 +02:00
sharkdp
4815ee416e
Remove process::exit instance
2020-04-03 22:36:32 +02:00
sharkdp
53557ef471
Clean up include order
2020-04-03 22:36:32 +02:00
sharkdp
4590ae8535
Proper error handling within walk.rs
2020-04-03 22:36:32 +02:00
sharkdp
bce95274e3
Proper error handling in main.rs
2020-04-03 22:36:32 +02:00
sharkdp
af9d8082a1
Better error message
2020-04-03 22:36:32 +02:00
sharkdp
094516aec3
Refactor directory handling
2020-04-03 22:36:32 +02:00
sharkdp
b415d7234b
Rename fshelper to filesystem
2020-04-03 22:36:32 +02:00
sharkdp
e0cba4b700
Remove 'internal' module
2020-04-03 22:36:32 +02:00
sharkdp
342d12db3f
Remove possibility to use '--exec <cmd>' with a single dash
2020-04-03 22:36:32 +02:00
sharkdp
809fd8fb78
Move regex helpers to new module
2020-04-03 22:36:32 +02:00
sharkdp
a3060f952e
Move error macros to error.rs
2020-04-03 22:36:32 +02:00
sharkdp
65096a653e
Move FdOptions to Options
2020-04-03 22:36:32 +02:00
sharkdp
9f738ad995
Move filter up from internal
2020-04-03 22:36:32 +02:00
sharkdp
5c27ab1a06
Move filetypes up from 'internal'
2020-04-03 22:36:32 +02:00
sharkdp
4274075f6f
Remove outdated license headers (not strictly required by Apache-2.0)
2020-04-03 10:19:13 +02:00
sharkdp
c9dc617711
Rename --list to --list-details
2020-04-03 09:58:47 +02:00
sharkdp
da5cd12b24
Add -l
/--list
option
...
Add a new `-l`/`--list` option to show more details about the search results. This is basically
an alias for `--exec-batch ls -l` with some additional `ls` options.
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 )
* avoid duplicate search results when multiple search paths are given (#405 )
2020-04-03 09:58:47 +02:00
sharkdp
d43827fe57
Add --max-results=<count> option
...
This new option can be used instead of piping to `head -n <count>` for
improved performance:
| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|:---|---:|---:|---:|---:|
| `fd --max-buffer-time=0 flow.yaml` | 153.9 ± 2.5 | 151.3 | 170.3 | 4.21 ± 5.86 |
| `fd --max-buffer-time=0 flow.yaml \| head -n 1` | 145.3 ± 17.4 | 111.0 | 180.2 | 3.98 ± 5.55 |
| `fd --max-results=1 flow.yaml` | 36.5 ± 50.8 | 7.2 | 145.7 | 1.00 |
Note: there is a large standard deviation on the last result due to the
non-deterministic file system traversal. With `--max-results`, we don't
have to traverse the whole filesystem tree, so it's all about luck.
closes #472
closes #476
2020-04-02 20:27:41 +02:00
sharkdp
44605d55dd
Use .to_string() instead of .description()
2020-03-22 15:54:43 +01:00
Dave Parfitt
70448b0006
honor the NO_COLOR env var
2020-03-19 22:56:28 +01:00
sharkdp
328c6640be
Formatting
2020-01-01 12:05:33 +01:00
Simon Engmann
94993ca6c2
Rename --same-file-system
to --one-file-system
2020-01-01 11:54:01 +01:00
Simon Engmann
8796de57b5
Add same file system functionality
...
This adds a `--same-file-system` CLI option that instructs the walker to
not cross file system boundaries.
Due to the fact that the corresponding option of the `ignore` crate's
`WalkBuilder` does not support platforms other than Unix and Windows,
the option does nothing on platforms other than those.
Resolves #507
2020-01-01 11:54:01 +01:00
Rafał Hajdacki
fb205f5057
Allow changing current working directory of fd
2019-12-23 15:42:33 +01:00
sharkdp
9350c8544d
Clean up cfg line
2019-09-15 18:58:05 +02:00
sharkdp
1ab4e87dda
Disable jemalloc for musl builds
2019-09-15 18:58:05 +02:00
sharkdp
4e20803e7d
Disable jemallocator on Windows
2019-09-15 18:58:05 +02:00
sharkdp
5a154866e3
Use jemalloc
...
Benchmark #1 : ./fd-sys-alloc '[0-9]\.jpg$' /home/shark
Time (mean ± σ): 246.8 ms ± 3.4 ms [User: 960.1 ms, System: 810.0 ms]
Range (min … max): 244.1 ms … 257.1 ms 12 runs
Benchmark #2 : ./fd-jemalloc '[0-9]\.jpg$' /home/shark
Time (mean ± σ): 201.0 ms ± 3.0 ms [User: 833.9 ms, System: 666.9 ms]
Range (min … max): 196.1 ms … 206.9 ms 14 runs
Summary
'./fd-jemalloc '[0-9]\.jpg$' /home/shark' ran
1.23 ± 0.03 times faster than './fd-sys-alloc '[0-9]\.jpg$' /home/shark'
2019-09-15 18:58:05 +02:00
sharkdp
d5da615c17
Implement glob-based searches
...
closes #284
2019-09-15 16:47:38 +02:00
sharkdp
641594c2c6
Use regex::bytes::* instead of regex::*
2019-09-15 16:47:38 +02:00
Nathan Moreau
588e344d5b
Remove type annotation.
2019-09-15 10:57:27 +02:00
Nathan Moreau
29bf9d731d
Handle any string replacement.
2019-09-15 10:57:27 +02:00