Skip to content

Instantly share code, notes, and snippets.

@jamesktan
Last active March 2, 2026 18:30
Show Gist options
  • Select an option

  • Save jamesktan/5977349562e6f6cab9ea to your computer and use it in GitHub Desktop.

Select an option

Save jamesktan/5977349562e6f6cab9ea to your computer and use it in GitHub Desktop.
Unzipping & Zipping ePub from Command Line
// To unzip the epub, move the ePub to a folder, cd to it then simply:
unzip MyEbook.epub
// To zip up an epub:
1. zip -X MyNewEbook.epub mimetype
2. zip -rg MyNewEbook.epub META-INF -x \*.DS_Store
3. zip -rg MyNewEbook.epub OEBPS -x \*.DS_Store
Some explanations necessary here. We start each line with two flags:
-r (recursive)
This means move down through any directories/folders recursively, ensuring that everything in the folders specified gets included
-g (grow file)
@montrealist
Copy link

macOS: (you should change the epub name here to whatever it should be called) zip -rX "../myprecious.epub" mimetype $(ls|xargs echo|sed 's/mimetype//g') -x *.DS_Store

This worked for me (extra backslash after the -x):

zip -rX "../myprecious.epub" mimetype $(ls|xargs echo|sed 's/mimetype//g') -x \*.DS_Store

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment