Linux将20万张图片的长宽变成一致的命令
时间: 2024-02-26 08:57:53 浏览: 62
如果要处理数量如此之大的图片,建议使用`find`和`xargs`命令来批量处理。以下是使用`find`和`xargs`命令来将大量图片的长宽变成一致的示例命令:
```
# 将所有.jpg图片的宽度统一为800像素,高度自动按比例调整
find /path/to/images -type f -name "*.jpg" -print0 | xargs -0 -P 8 -I {} mogrify -resize 800x {}
# 将所有.jpg图片的高度统一为600像素,宽度自动按比例调整
find /path/to/images -type f -name "*.jpg" -print0 | xargs -0 -P 8 -I {} mogrify -resize x600 {}
# 将所有.jpg图片的宽度和高度都统一为800x600像素
find /path/to/images -type f -name "*.jpg" -print0 | xargs -0 -P 8 -I {} mogrify -resize 800x600! {}
```
这些命令的含义如下:
- `find /path/to/images -type f -name "*.jpg" -print0`:查找`/path/to/images`目录下所有后缀为`.jpg`的文件,并将结果以null字符分隔打印出来,以便后续的`xargs`命令处理。
- `xargs -0 -P 8 -I {} mogrify -resize 800x {}`:将`find`命令的输出作为`xargs`命令的输入,`xargs`命令使用null字符作为分隔符,使用8个并行进程来处理文件,并将每个文件名替换`{}`占位符,然后执行`mogrify -resize 800x {}`命令来处理每个文件。
请注意,这些命令可能需要很长时间才能完成,具体时间取决于图片的数量和大小。
阅读全文