[mc4wp_form id=”2320″]
Some time it is necessary to find out files and remove them. However, rm command does not support search criteria. You need to use the find command to search for files in a directory and remove them on fly. You can combine find and rm command together.
The basic find command syntax is:
find dir-name criteria action
To remove multiple files such as *.jpg or *.sh with one command find, use:
find . -name “FILE-TO-FIND” -exec rm -rf {} \;
OR
find . -type f -name “FILE-TO-FIND” -exec rm -f {} \;
The only difference between above two syntax is that the first command remove directories as well where second command only removes files. Options:
Find all files having .bak (*.bak) extension in the current directory and remove them:$ find . -type f -name "*.bak" -exec rm -f {} \;
Find all core files in the / (root) directory and remove them (be careful with this command):# find / -name core -exec rm -f {} \;
Find all *.bak files in the current directory and removes them with confirmation from user:$ find . -type f -name "*.bak" -exec rm -i {} \;
Sample outputs:
rm: remove regular empty file `./data0002.bak'? y rm: remove regular empty file `./d234234234fsdf.bak'? y rm: remove regular empty file `./backup-20-10-2005.bak'? n