3 ms·
fd is probably better for most tasks, but sometimes it seems more cumbersome than find. E.g., to delete all files inside a cache directory, this is the simplest
by quinncom 2y ago
fd is probably better for most tasks, but sometimes it seems more cumbersome than find. E.g., to delete all files inside a cache directory, this is the simplest syntax I could find:
fd -t f -X rm {} \; ^ cache
Which makes me really nervous, so usually I fall back to using find:
find cache -type f -delete
Maybe this is foolproof for me only because I’ve been using find for decades. Is there a version of this for fd that inspires more confidence?
- orlp 2y agoI would suggest fd -t f . cache -X rm -- Which reads as find "any file", "matching .", "in directory cache", then "execute rm -- followed by an argument list of all found files". This ensures even if you have filenames starting with - they won't be interpreted as options for rm. For even more sanity of mind you may want to turn on -a for absolute paths, although I don't see an example right now where using relative paths would go wrong.
- quinncom 2y agoYes, that looks safer. I didn't realize I could put the `-X` option at the end. The man page says: Usage: fd [OPTIONS] [pattern] [path]... So, I presumed the path had to go last.