FIND - Exec
From Wiki.IT-Arts.net
find + exec
The basic syntax to execute find with exec :
find [path] [arguments] -exec [command] {} \;
List Files
find /home/user/ -type f -name *.txt -exec ls -l {} \;
Remove By Size
Files larger than 500 MB :
find /home/user/ -size +500M -exec rm {} \;
- size n[cwbkMG]
- File uses less than, more than or exactly n units of space, rounding up. The following suffixes can be used:
- `b' for 512-byte blocks (this is the default if no suffix is used)
- `c' for bytes
- `w' for two-byte words
- `k' for kibibytes (KiB, units of 1024 bytes)
- `M' for mebibytes (MiB, units of 1024 * 1024 = 1048576 bytes)
- `G' for gibibytes (GiB, units of 1024 * 1024 * 1024 = 1073741824 bytes)
- File uses less than, more than or exactly n units of space, rounding up. The following suffixes can be used:
Remove By Date
Files older than 10 days
find /home/user/ -type f -mtime +10 -exec rm {} \;
- mtime n
- File's data was last modified less than, more than or exactly n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file modification times.
- -atime n
- File was last accessed less than, more than or exactly n*24 hours ago. When find figures out how many 24-hour periods ago the file was last accessed, any fractional part is ignored, so to match -atime +1, a file has to have been accessed at least two days ago.