this post was submitted on 18 Aug 2023
-30 points (32.6% liked)

Linux

48149 readers
920 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I run Mylar on my Xubuntu server to manage my comic collection. I found out recently that there's a tool that can convert the embedded .jpgs to .webp to save space, but it only works on cbz files and not cbr (zipped vs rar for those who don't know). I wanted to convert all of my cbr to cbz so that I could run the tool on all my comics, so I needed to search hundreds of subdirectories for them and move them to the same folder to be processed.

Under Windows, I'd just type *.cbr into the search bar built into Explorer from the root comic directory, hit enter to get a list of files, select them all, and move them to the new folder. On Xubuntu, it's nothing like as simple.

I found the search option in Thunar which opened Catfish, typed in *.cbr, and got a no files found message. After looking through the very limited options, I started searching for a way to do it. About thirty minutes later I'd found dozens of links telling me to use different, Terminal only, tools, but nothing about how to search subdirectories from the Catfish GUI. Purely by accident, I found a post from 2012 that mentioned the fact that Catfish doesn't use wildcards, so just search with .cbr, something that's not mentioned in the official docs.

I tried it, and it searched the subdirectories too, and found my files! Except there was no way to copy or cut and paste, just open, show in file manager, copy location, save as, or delete. No good options for almost 500 files across several dozen locations.

I ended up asking Chat GPT how to do it, and doing it through the Terminal, using this:

'find . -type f -name "*.cbr" -exec mv {} /path/to/destination ;'

This is pretty basic functionality, and I had to resort to getting help to use the Terminal :(

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 21 points 1 year ago (1 children)

This will search through whatever directory you select (and all subdirectories) for cbz, cbr, zip, or rar files. It will check the contents of each file to determine if it contains any jpg or png files. For all cbzs with jpg or png files, it will extract all data to a temp folder, convert the jpgs/pngs to webp images, and then create a new cbz file with the converted images. Any other contents of the cbz (such as ComicInfo.xml) will be retained. The final file will overwrite the existing file, so ensure you have a backup first.

https://github.com/azuravian/cbz_jpg-to-webp

All that for something that was unnecessary in the first place. The tool you're trying to use already supports the file format you have and works recursively. No need to move files or convert them first.

[–] [email protected] 5 points 1 year ago

Yep, and that's very frustrating. I replied to someone else while you were writing this, but the gist of it is, I read somewhere else that it couldn't handle cbrs yet, and did the prep before I checked. I should have done it the other way around, but it's done now :/