If I have a list of filenames in a text file that I want to exclude when I run find
, how can I do that? For example, I want to do something like:
fi
This solution will go through all files (not exactly excluding from the find
command), but will produce an output skipping files from a list of exclusions.
I found that useful while running a time-consuming command (file /dir -exec md5sum {} \;
).
chmod
, replace echo
with other commands): $ cat skip_file.sh
#!/bin/bash
found=$(grep "^$1$" files_to_skip.txt)
if [ -z "$found" ]; then
# run your command
echo $1
fi
Create a file with the list of files to skip named files_to_skip.txt
(on the dir you are running from).
Then use find using it:
find /dir -name "*.gz" -exec ./skip_file.sh {} \;