我有一些.epub
书籍文件,我想编辑脏话供我年幼的孩子阅读。我读过sed
是适合这项工作的工具(我也对不同的解决方案持开放态度),但对此还很陌生。
原文示例
ant bat cat
dog eagle fish
修改后的文本(sed后)
ant XXX cat
XXX eagle XXX
我在 Mac 上,并且已经得到了这个工作:
LC_ALL=C sed -E 's/bat|dog|fish/XXX/ig' temp1.txt > temp2.txt
ant XXX cat
XXX eagle XXX
但我无法让它与 .epub 文件格式一起使用
LC_ALL=C sed -E 's/bat|dog|fish/XXX/ig' file1.epub > file2.epub
这是一个关联到一个示例.epub
文件。
答案1
像这样:(你需要潘多克待安装):
pandoc -f epub -t plain -o test1.txt test1.epub
sed -i'' -E 's/bat|dog|fish/XXX/ig' test1.txt
pandoc -f plain -t epub -o test1.epub test1.txt
另一种不完整的方法:
unzip test1.epub
cd OPS
lynx -dump ./html/chapter*.html | less
xmlstarlet edit # on the proper HTML files
cd -
zip -r test1.epub OPS