I was trying to delete a list of files with a character '-' in their filenames from a directory, containing lots of other files. Thanks to linux, you get everything you need here.
lists all the files/directories containing '-' anywhere in the filename or directory name.
-regex allows to give any pattern to do powerful custom search.
To list only the files, add
To delete all the files/directories with any pattern, just add command to the above line as shown below
executes
I suggest you first move all the files to some directory, before deleting them, just incase you don't accidentally delete some important files.
#find ./directorypath -regex '.*-.*'
lists all the files/directories containing '-' anywhere in the filename or directory name.
-regex allows to give any pattern to do powerful custom search.
To list only the files, add
-type f
#find ./directorypath -type f -regex '.*-.*'
To delete all the files/directories with any pattern, just add command to the above line as shown below
#find ./directorypath -regex '.*-.*' -exec rm -rf {} \;
-exec rm -rf {} \;
executes
rm -rf
(remove forcefully and recursively in case of directory). The files/directories found by find command is passed to the rm -rf
command via {}
, which deletes them. \;
marks the end of the command.I suggest you first move all the files to some directory, before deleting them, just incase you don't accidentally delete some important files.
No comments:
Post a Comment