linux按照修改时间,移动文件夹一天内修改过的图像到其他文件夹
时间: 2024-05-16 18:14:50 浏览: 61
可以使用`find`和`mv`命令来实现。
首先进入需要搜索的文件夹,在终端中执行以下命令:
```
find . -type f -name "*.jpg" -mtime -1 -exec mv {} /path/to/destination/folder \;
```
这个命令会搜索当前目录下所有的`.jpg`文件,并且只选择修改时间在一天内的文件,然后将这些文件移动到`/path/to/destination/folder`文件夹中。
解释一下:
- `find .`:从当前目录开始搜索。
- `-type f`:只搜索文件,不搜索文件夹。
- `-name "*.jpg"`:只搜索后缀为`.jpg`的文件。
- `-mtime -1`:只选择修改时间在一天内的文件,`-1`表示一天内,`+1`表示一天前,`0`表示今天。
- `-exec mv {} /path/to/destination/folder \;`:对搜索到的文件执行`mv`命令,将其移动到指定的目录中,`\;`表示命令结束。
注意,这个命令会将符合条件的所有文件移动到目标文件夹中,如果目标文件夹中已经存在同名文件,则会覆盖原文件。所以在执行这个命令之前,请确保目标文件夹中不存在同名文件。
相关问题
linux 移动文件夹到另一个文件夹内
要在Linux中将一个文件夹移动到另一个文件夹内,可以使用`mv`命令。以下是移动文件夹的命令格式:
```shell
mv <源文件夹路径> <目标文件夹路径>
```
例如,假设要将名为`folder1`的文件夹移动到名为`folder2`的文件夹内,可以使用以下命令:
```shell
mv folder1 folder2
```
这将把`folder1`文件夹移动到`folder2`文件夹内。如果目标文件夹不存在,`mv`命令会将源文件夹重命名为目标文件夹。
请注意,如果目标文件夹中已存在同名的文件夹,那么源文件夹将被合并到目标文件夹中,并覆盖同名文件和子文件夹。如果您不希望覆盖目标文件夹中的任何内容,可以使用`cp`命令复制文件夹,并在复制完成后使用`rm -r`命令删除源文件夹。
linux按照操作时间移动部分文件夹
你可以使用 `rsync` 命令来移动部分文件夹。以下是使用 `rsync` 命令移动文件夹的示例:
假设你想要移动 `/home/user/documents` 中在过去一周内修改过的文件到 `/home/user/new_documents` 文件夹中,可以使用以下命令:
```
rsync -avm --include='*/' --include='*.txt' --exclude='*' --prune-empty-dirs --update --remove-source-files /home/user/documents/ /home/user/new_documents/
```
这个命令的参数解释如下:
- `-a`:以归档模式进行复制,保留所有文件属性。
- `-v`:详细输出命令执行过程。
- `-m`:只复制已修改的文件。
- `--include='*/'`:包括所有子目录。
- `--include='*.txt'`:包括所有扩展名为 `.txt` 的文件。
- `--exclude='*'`:排除所有文件和目录。
- `--prune-empty-dirs`:排除没有文件的空目录。
- `--update`:只复制源目录中比目标目录新的文件。
- `--remove-source-files`:复制完成后删除源目录中已经复制的文件。
注意:这个命令只会移动 `/home/user/documents` 目录下过去一周内被修改过,并且扩展名为 `.txt` 的文件到 `/home/user/new_documents` 目录中。如果你想要修改这些条件,可以根据需要调整 `--include` 和 `--exclude` 参数。
阅读全文