复制目录树,然后递归地就地转换所有 JPG 文件

复制目录树,然后递归地就地转换所有 JPG 文件

我想运行命令

convert -strip -interlace Plane -gaussian-blur 0.05 -quality 75% 002-02.jpg test
.jpg

以下子目录中的所有 .jpg 文件

├── House Altar Data
│   ├── Altar Data 2021 EAST.xlsx
│   ├── Altar Data 2021 NORTH.xlsx
│   ├── Altar Data 2021 SOUTH.xlsx
│   ├── Altar Data 2021 WEST.xlsx
│   ├── Altar data 2021 CENTRAL.xlsx
│   ├── Singkawang Barat (West)
│   │   ├── Pasiran 001 Sam San Ciong Kiun.JPG
│   │   ├── Pasiran 002 Lu San Liuk Ciong.JPG
│   │   ├── Pasiran 003 Hiat Mian Ciong Kiun.JPG
│   │   ├── Pasiran 184 Datuk Bujang Berani.JPG
│   │   ├── Pasiran 185 Sam Bong Ciong Kiun.JPG
│   │   ├── Pasiran 186 Cong San Pak Kung.JPG
│   │   ├── Timur 103 Datuk.JPG
│   │   └── Timur 104 Pak Kung.JPG
│   ├── Singkawang Utara (North)
│   │   ├── Utara 001 Thai Cu Shin Ti.JPG
│   │   ├── Utara 002 Kim San Pak Kung.JPG
│   │   ├── Utara 003 Hian Thian Song Ti.JPG
│   │   ├── Utara 037 Bong Lo Sian Shi.JPG
│   │   ├── Utara 038 Ng Fong Pak Kung.JPG
│   │   └── Utara 039 Ng Fong Pak Kung.JPG
│   ├── TABEL PERBANDINGAN ALTAR 2021.ods
│   ├── altar-central.csv
│   ├── altar-east.csv
│   ├── altar-north.csv
│   ├── altar-south.csv
│   ├── altar-west.csv
└── temple_posters
    ├── 001 DONE Vihara Pusat Kota
    │   ├── 001-01.jpg
    │   ├── 001-02.jpg
    │   ├── 001-03.jpg
    │   ├── 001-04.jpg
    │   ├── 001-05.jpg
    │   └── 001-06.jpg
...
    │   ├── 042-01.jpg
    │   ├── 042-02.jpg
    │   ├── 042-03.jpg
    │   ├── 042-04.jpg
    │   ├── 042-05.jpg
    │   └── 042-06.jpg
    ├── 044 DONE Sam San Ket Bong Sinnam
    │   ├── 044-01.jpg
    │   ├── 044-02.jpg
    │   ├── 044-03.jpg
    │   ├── 044-04.jpg
    │   ├── 044-05.jpg
    │   └── 044-06.jpg
    ├── 045 DONE Phak Lian Shi Kung Sg. Kulor
    │   ├── 045-01.jpg
    │   ├── 045-02.jpg
    │   ├── 045-03.jpg
    │   ├── 045-04.jpg
    │   ├── 045-05.jpg
    │   └── 045-06.jpg
    ├── 046 DONE Cong Thian Shi
    │   ├── 046-01.jpg
    │   ├── 046-02.jpg
    │   ├── 046-03.jpg
    │   ├── 046-04.jpg
    │   ├── 046-05.jpg
    │   └── 046-06.jpg
    ├── 047 DONE Fo San Fut Fab Ki Kiun Kongsisan
    │   ├── 037 DONE Sam Chin Fab Jan Sedau
    │   │   ├── 037-01.jpg
    │   │   ├── 037-02.jpg
    │   │   ├── 037-03.jpg
    │   │   ├── 037-04.jpg
    │   │   ├── 037-05.jpg
    │   │   ├── 037-06.jpg
    │   │   ├── 037-07.jpg
    │   │   └── 037-08.jpg
    │   ├── 047-01.jpg
    │   ├── 047-02.jpg
    │   ├── 047-03.jpg
    │   ├── 047-04.jpg
    │   └── 047-05.jpg
    ├── 048 DONE Thai Pak Kung Gg.3
    │   ├── 048-01.jpg
    │   ├── 048-02.jpg
    │   ├── 048-03.jpg
    │   ├── 048-04.jpg
    │   └── 048-05.jpg
    ├── 049 DONE Tua Pe Kong Jl. Kalimantan
    │   ├── 049-01.jpg
    │   ├── 049-02.jpg
    │   ├── 049-03.jpg
    │   ├── 049-04.jpg
    │   ├── 049-05.jpg
    │   └── 049-06.jpg
    ├── 050 DONE Vihara Buddhayana Roban (Atas)
    │   ├── 050-01.jpg
    │   ├── 050-02.jpg
    │   ├── 050-03.jpg
    │   ├── 050-04.jpg
    │   ├── 050-05.jpg
    │   ├── 050-06.jpg
    │   ├── 050-07.jpg
    │   ├── 050-08.jpg
    │   ├── 050-09.jpg
    │   ├── 050-10.jpg
    │   ├── 050-11.jpg
    │   ├── 050-12.jpg
    │   ├── 050-13.jpg
    │   ├── 050-14.jpg
    │   └── 050-15.jpg
    ├── 051 DONE Vihara Buddhayana Roban (Bawah)
    │   ├── 051-01.jpg
    │   ├── 051-02.jpg
    │   ├── 051-03.jpg
    │   ├── 051-04.jpg
    │   ├── 051-05.jpg
    │   ├── 051-06.jpg
    │   └── 051-07.jpg
    ├── 052 DONE Kwan Im Pajintan
    │   ├── 052-01.jpg
    │   ├── 052-02.jpg
    │   ├── 052-03.jpg
    │   ├── 052-04.jpg
    │   ├── 052-05.jpg
    │   ├── 052-06.jpg
    │   ├── 052-07.jpg
    │   └── 052-08.jpg
    ├── 053 DONE Sui Tet Sen Kiun Kulor
    │   ├── 053-01.jpg
    │   ├── 053-02.jpg
    │   ├── 053-03.jpg
    │   ├── 053-04.jpg
    │   └── 053-05.jpg
    ├── DAFTAR DEWA-DEWI with DESCRIPTION UPDATE.xlsx
    └── Map of Singkawang with Mandarin.jpg

我想复制文件结构和图像名称;

我不知道从哪里开始 - 有人能帮忙吗?

答案1

像这样:

find ./dir -iname '*.jpg' -exec sh -c '
    echo convert -strip -interlace Plane -gaussian-blur 0.05 \
        -quality 75% "$1" "$1.temp" && mv "$1.temp" "$1"
' -- {} \;

echo如果输出看起来不错,请删除语句。

原始文件被覆盖。

答案2

您可以使用递归复制该目录rsync(例如 to backup):

rsync -av /path/to/my_subdir /path/to/backup/

要仅复制JPG文件并忽略其他文件以及空目录,您可以运行:

rsync -avm --include='*.[jJ][pP][gG]' --include='*/' --exclude='*' /path/to/your/subdir /path/to/backup/

mogrify然后,您可以使用(也是 的一部分)对重复项进行操作imagemagick,它可以就地批量转换图像:

find /path/to/backup/my_subdir -name '*.[jJ][pP][gG]' -exec \
mogrify -strip -interlace Plane -gaussian-blur 0.05 -quality 75% {} +

相关内容