Finding files modified between two dates in Linux can be a challenge, but with the find command, this task can be accomplished with ease. The find command is a powerful tool that allows you to search for files in a directory and its subdirectories based on various criteria, including modification time.
In this article, we’ll go over how you can use the find command to find files modified between two dates in Linux.
Syntax
You can use Linux find command to find all files modified between two dates recursively. Here’s the basic syntax for using the find command to search for files based on modification time:
1 | find /path/to/search -type f -newermt YYYY-MM-DD ! -newermt YYYY-MM-DD |
Let’s break down each component of this command:
/path/to/search
: The path to the directory you want to search. This could be an absolute path (e.g., /home/user) or a relative path (e.g., . for the current directory).-type f
: The -type option is used to specify the type of file you’re searching for. In this case, we’re searching for regular files (f).-newermt YYYY-MM-DD
: The -newermt option is used to specify that we want to search for files modified after a certain date. The date must be in the format YYYY-MM-DD.! -newermt YYYY-MM-DD
: The ! operator negates the-newermt
option, so this part of the command is used to specify that we want to search for files modified before a certain date. Again, the date must be in the format YYYY-MM-DD.
Example
Using these components, you can easily search for files modified between two dates. For example, if you wanted to find all files in the current directory and its subdirectories modified between January 1, 2023, and December 31, 2021, you would run the following command:
find . -type f -newermt 2022-01-01 ! -newermt 2023-01-01
Note that the find command is case-sensitive, so be sure to use the correct capitalization when specifying the date.
The find command also has a variety of other options that can be used to further refine your search. For example, you can use the
option to list the details of each file found, including the size, permissions, and modification time. You can also use the -ls
-exec
option to run a command on each file found, such as copying the files to a different directory.
Conclusion
In conclusion, the find command is a versatile and powerful tool that can be used to find files modified between two dates in Linux. By using the -newermt
and !
options, you can easily search for files based on their modification time, making it a valuable tool for administrators and power users.