Command Line

Linux parancssor. Ismert és kevésbé ismert parancsok. Bash tippek, trükkök. Rövid scriptek.

Címkék

&& (1) A4 (1) ac3 (1) ack (1) acpi (2) AES (1) afzcamCreator (1) agrep (1) aha (1) ajánló (1) alias (2) alkönyvtár (4) android (1) animgif (2) apropos (1) audio (2) avi (6) awk (1) backup (5) badblocks (1) basename (3) bash (20) bash completion (1) battery (1) bc (1) blkid (1) boot (3) brew (1) brute force (1) bug (1) bzip2 (2) cab (1) cal (1) calibre (4) calibredb (1) camera (1) capability (1) cat (2) cd (4) cdialog (2) checkinstall (2) cikkajánló (2) ciklus (1) címke (2) cksum (1) clipboard (1) cmdtools (1) color (1) colordiff (1) column (1) commandlinefu (1) convert (8) corel aftershot pro (1) cp (1) cr (1) crop (1) csplit (1) curl (1) date (1) dátum (1) dd (8) ddrescue (1) deb (1) decimális (1) default value (1) defrag (1) df (1) dia (1) dialog (2) diff (6) digitális fénykép (14) dircolors (1) dirty cow (1) dlna (1) dmidecode (1) dng (2) dos (2) dos2unix (1) dropbear (1) dropbox (1) dt3 (1) du (3) dump (2) dv (1) dvd (10) dvdauthor (2) dvd rw tools (1) e2freefrag (1) e2fsprogs (4) ebook (2) editor (2) eh (1) eject (1) emacs (4) encfs (2) energiagazdálkodás (1) enfuse (2) Enigma (1) epub (2) ESC (1) espeak (1) exa (1) exe (1) exif (6) exiftool (12) exit (1) ext2 (1) ext3 (1) ext4 (1) f3 (1) fájl (1) fallocate (1) fdisk (3) fdupes (1) feh (2) felhő (1) felirat (1) ffmpeg (12) filefrag (1) find (6) for (3) format (1) fortune (1) fred weinhaus (1) fuck (1) fuse (4) fuse-lgefs (1) fzf (1) gdatafs (1) genisoimage (3) getcap (1) getfacl (1) getmail (1) ghostscript (1) gif (1) gifsicle (1) glances (1) gnumeric (1) gnuplot (1) gömb (1) google (1) google drive (1) gotty (1) GPAC (1) gparted (2) gpg (3) gpg-zip (1) gplaycli (1) gps (3) gpsbabel (1) graphviz (1) grep (3) grive (1) grive2 (1) groff (1) growisofs (1) gs (1) gtk (1) gunzip (1) gzip (2) h264 (2) hálózat (1) handbrake (1) hangosítás (1) hardver (1) hard link (1) hash (2) hashcat (1) haszontalan (1) hdd (6) head (1) helyettesítés (1) hexadecimális (2) hibernate (1) homebrew (2) hp (1) hp-levels (1) html (1) http (1) hugin (1) icewm (1) icewm-light (1) identify (1) if (1) ifconfig (2) ifs (1) igo (1) imagemagick (12) imap (1) index (1) install (1) installer (1) iotop (1) iperf (1) iso (3) java (2) jelszó (6) jhead (1) jnettop (2) jogosultság (1) jpeg (4) jpg (2) jre (1) kapcsos zárójel (1) karakterkódolás (1) kdenlive (1) képméretezés (1) képnézegető (1) kernel (1) kétmenetes (1) keystore (1) keytool (1) kiegészítés (1) kindle (1) kódolás (1) könyv (1) kriptográfia (1) k x (2) lbzip2 (1) less (5) Levenshtein (1) lf (1) lg (1) linux (2) linuxbrew (1) linuxvilág (1) lm sensors (1) ln (1) log (1) losetup (1) ls (4) lsof (1) LS COLORS (1) lzw (1) mac (1) macos (2) mac address (2) mad (1) mail (1) mailbox (1) man (2) markdown (1) matroska (4) md5 (1) md5sum (2) mediainfo (1) melt (1) mencoder (5) merevlemez (5) meta (1) mikmod (1) minidlna (1) mjpegtools (1) mkv (6) mkvmerge (3) mkvtoolnix (4) mlt (1) mms (1) mogrify (1) monitor (1) montage (1) mount (3) mp3 (2) mp4 (1) MP4Box (1) mpg123 (1) mpg321 (1) mplayer (6) mplex (1) named (1) naptár (1) ncurses (2) nethogs (1) ng (1) nice (1) niceload (1) nl (1) nosztalgia (1) ntfsresize (1) numfmt (1) nyomtató (1) od (2) ogg (1) oktális (1) openssh (1) openwrt (1) óra (1) panoráma (1) parallel (3) parancsbehelyettesítés (1) parted (1) pass (1) paste (1) patch (2) pbcopy (1) pbpaste (1) pbzip2 (3) pdf (8) pdfcrack (1) pdfjam (1) pdfnup (1) pdftk (2) pendrive (2) pentax (6) perl (1) pgp (1) pgrep (1) PhotoRec (1) pi (1) picasa (1) picasaweb (1) pid (1) pigz (1) pipe (7) pktriggercord (1) play store (1) pm-utils (1) pop3 (1) popd (2) port (1) process (4) pushd (2) pv (3) pwgen (1) python (1) qimport (1) qpd (1) qr (2) qrencode (2) quotedprintable (1) random (1) randr (1) rdfind (1) readlink (1) recode (2) regiókód (1) reguláris kifejezés (2) rejtjelezés (2) renice (1) rfkill (1) rip (1) rm (1) rpm (5) rsa (1) rsync (2) sane (1) scanimage (1) screenshot (1) script (1) sebesség (1) sed (2) seq (4) setcap (1) setfacl (1) sha256sum (1) sha512sum (1) shellshock (1) shred (2) SIGINT (1) smp (3) sorszámozás (1) sort (2) sourse-highlight (1) space (1) sparse (1) split (2) ssconvert (2) ssd (1) ssh (3) sshfs (1) sshtron (1) startx (1) stat (1) stopper (1) suspend (1) symlink (1) sync (1) sysrq (1) systemd-analyze (1) systems (1) számológép (1) szenzor (1) szerver (1) szimbolikus link (1) szimbolikus lunk (1) szín (1) szkennelés (1) tail (2) tar (3) tee (3) testdisk (1) text (2) thefuck (1) tiff (1) time (1) timeout (1) tinta (1) titkosítás (3) tömörítés (4) top (2) töredezettségmentesítés (1) touch (2) tput (1) tr (1) transcode (5) trap (1) TRE (1) tree (2) tutorial (1) ufraw (2) ufraw batch (1) újság (1) unbuffer (1) uniq (1) unix (2) upower (1) urandom (1) user (1) utf 8 (1) változó (2) VBoxManage (1) véletlenszám (2) verem (1) vertical video syndrome (1) VHS (1) vi (4) vid.stab (1) video (2) vim (1) virtualbox (1) vob (1) vobcopy (1) wake on lan (1) watch (1) webkamera (1) webszerver (2) wget (1) which (2) whitespace (2) who (1) wifi (1) windows (3) woeusb (1) wol (1) X (1) x264 (1) xargs (4) xbacklight (1) xclip (2) Xdialog (1) xml (1) xmllint (1) xrandr (2) xxd (3) yes (1) youtube (1) youtube-dl (1) zárójeles (1) zbar (1) zene (1) zenity (2) zip (1) Címkefelhő

PIM DIA e-könyv

2012.12.24. 10:00 | sala | 18 komment

A DIA ( Digitális Irodalmi Akadémia ) oldalán kortárs magyar írók műveit érhetjük el ingyen. Számomra nem teljesen érthető módon ezeket a műveket a weben elolvashatjuk, de arra már nincs mód ( legalábbis én nem találtam ), hogy valami e-könyv formátumban letölthessük őket.

Persze egy-két kattintással átkonvertálhatjuk a könyveket, a Kindlevarázs írt egy elég részletes leírást erről. A leírás óta van már hivatalos send to kindle alkalmazás is, inkább azt érdemes használni.

A leírt nagyon egyszerű konverzió hátránya, hogy elvesznek a lábjegyzetek, és a könyv tele lesz szórva felesleges oldalszámokkal. Nem is beszélve arról, hogy az összes metaadat elveszik.

Mivel bosszantott a dolog, készítettem egy scriptet, ami elvégzi a konvertálást, és elfogadhatóbb eredményt ad. Tisztában vagyok vele, hogy a script egyértelműen a legrondább kódrészlet amit valaha a blogon írtam, és azzal is, hogy a reguláris kifejezések használatára nincsen mentség, viszont arra a pár könyvre amire kipróbáltam elég jól működött.

#!/bin/bash
FILE=`basename $1 .xhtml`
echo ${FILE}_1.xhtml
cat $FILE.xhtml | sed s@\<span\ class=\"oldaltores\"\>.*\</span\>@@ |\
 sed '/<a name="DIAPage.*>/{ N; s/<a name="DIAPage.*>[\n]// }' | sed 's@<div class="cim">\(.*\)</div>@<h1>\1</h1>@' > ${FILE}_conv.xhtml
ebook-convert ${FILE}_conv.xhtml ${FILE}.fb2
CIM=`sed -n 's@[ ]*<div class="konyvcim">\(.*\)</div>@\1@p' < ${FILE}_conv.xhtml`
SZERZO=`sed -n 's@[ ]*<div class="szerzo">\(.*\)</div>@\1@p' < ${FILE}_conv.xhtml`
VEZETEKNEV=`echo $SZERZO | cut -f 1 -d ' '`
KERESZTNEV=`echo $SZERZO | cut -f 2- -d ' '`
rm ${FILE}_conv.xhtml
sed 's@<sup>\*\(.*\)</sup>@<a xlink:href="#calibre_link-\1">\1</a>@' < ${FILE}.fb2 |\
sed 's@\*\(.*\)</p>@<p id="calibre_link-\1">\1</p></p>@' |\
sed "s@<first-name>[^/]*</first-name>@<first-name>$KERESZTNEV</first-name>@g" |\
sed "s@<lang>[^/]*</lang>@<lang>hu</lang>@g" |\
sed "s@<empty-line[ ].*/>@@g" |\
sed "s@<last-name>[^/]*</last-name>@<last-name>$VEZETEKNEV</last-name>@g" > ${FILE}_conv.fb2
rm ${FILE}.fb2
ebook-meta --cover=$2 ${FILE}_conv.fb2
ebook-convert ${FILE}_conv.fb2 ${FILE}.mobi
rm ${FILE}_conv.fb2
ebook-meta -t "${CIM}" -l hu --isbn "$3" ${FILE}.mobi

A scriptet neve dia_convert.sh. Ha a DIA-ról letöltünk egy könyvet XHTML formátumban ( input.xhtml ), kikeressük a borítót ( input.jpg ), majd megkeressünk az ISBN-számot ( példában: 1111111111 ), akkor a következő módon gyárthatjuk le a mobi fájlt:

dia_convert.sh input.xhtml input.jpg 11111111111

A script a sed indokolatlan használata mellett calibre-re épül.

Címkék: ebook dia calibre sed

A bejegyzés trackback címe:

https://commandline.blog.hu/api/trackback/id/tr654976296

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

szokolova 2013.03.07. 21:35:09

Szia, szívesen kipróbálnám a szkriptet, ha tudnál segíteni abban, hogy OSX alatt hogyan kell használni.
Feltettem a calibre-t, de azt mondja a dia_convert.sh, hogy: ebook-convert: command not found. Átvittem a futtatási könyvtárba az ebook_convert-et, de akkor meg a calibre library-kat nem találja.
Előre is köszi a segítséget!

sala 2013.03.08. 19:35:18

@szokolova: Nem ismerem az OSX-et, de a calibre oldalán azt írják, hogy:

"On OS X you have to go to Preferences->Advanced->Miscellaneous and click install command line tools to make the command line tools available. On other platforms, just start a terminal and type the command."

manual.calibre-ebook.com/cli/cli-index.html

szokolova 2013.03.14. 21:38:06

@sala: Köszi az infót, ennek én is utánanézhettem volna... A hétvégén kipróbálom.

szokolova 2013.03.14. 22:27:03

@sala: volt egy kis időm próbálgatni, de sajnos nem megy. A calibre command line menne, de az elején a sed elakad, mégpedig a következőnél:
sed '/<a name="DIAPage.*>/{ N; s/<a name="DIAPage.*>[\n]// }'

ezt írja ki:
sed: 1: "/<a name="DIAPage.*>/{ ...": bad flag in substitute command: '}'

Sajnos nem igazán ismerem a sed parancsot, így azt sem tudom, hogy itt minek kellene történnie. Az előző sor oké, hogy kiszedi az "oldaltörés"-es sort, de itt mintha nem kiszedni akarnád, hanem átírni.

Lehet, hogy OSX alatt máshogy működik a sed?

Bocs, hogy ezzel "zaklatlak", de a DIA-n rengeteg jó könyv van :)

Előre is köszi a segítséget!

sala 2013.03.23. 07:36:36

Hát amikor azt írtam, hogy ez egy igen ronda script, akkor pont a sed értelmetlen használatára utaltam.

Ez a részlet többsoros illesztést végez. Elképzelhető, hogy OSX alatt másként működik a sed. Megpróbálhatod kihagyni ezt a részt, legfeljebb marad pár felesleges sortörés a könyvben. Attól még olvasható lesz.

richard_szabo 2016.12.04. 11:21:48

Nekem Ubuntu 16.04 alatt adott jópár warning-ot, de végül is rendben működött, elkészült a mobi fájl.

vasszer 2018.03.14. 00:15:18

Futtatom a fenti scriptet, de az oldalszámuktól törli az adott bekezdést. Valamit lehet, hogy átalakítottak a DIÁ-nál. Korábban nem volt ilyen gondom. Hogyan lenne érdemes a scriptet alakítani a feltételezhetően új helyzethez? Nagyon nem ismerem ezeket a szerkesztő programokat.
Köszönöm szépen az esetleges segítséget!

vasszer 2018.03.14. 09:16:28

<a href="http://dia.jadox.pim.hu/jetspeed/displayXhtml?docId=0000000191&secId=0000017372&mainContent=true&mode=html#WORD_1_1">Erről</a> van szó.

vasszer 2018.03.14. 09:17:12

Erről van szó: <a href="http://dia.jadox.pim.hu/jetspeed/displayXhtml?docId=0000000191&secId=0000017372&mainContent=true&mode=html#WORD_1_1">Erről</a> van szó. Elnézést az előbbi hozzászólásomért.

vasszer 2018.03.14. 11:25:42

Nos picit dolgoztam az ügyön.
Konkrétan az általam fent hivatkozott könyvet kíséreltem meg „oldalszám-mentesíteni”.
Calibre programmal egész jól megoldható (3.19-es változat).

Letöltöm a könyvet xhtml-ben (külön megnyitom a keretét).

Calibrében konvertálom. (Most csak az oldalszámok ledarálását írom, a bekezdések közti térköz eltávolítására, beépített betűtípusokra, stb. nem térek ki, azoknál elég egy-egy pipa a megfelelő négyzetbe.) Nem tudom, hogy kell-e ehhez külön calibre kiegészítő/plugin. Úgy vélem nem.

Jobb katt a letöltött könyvre/helyi menü/Konvertálás/Keresés & csere/Reguláris keresési kifejezés:

ide írni:
xhtml dia fájl esetén (amit *.zip-ként kezel a calibre): <a name="DIAPage[0-9]+" shape="rect"></a><span class="oldaltores">[0-9]+</span>

(a ’[0-9]+’ jelenti a bármilyen egész számot, vagy ilyesmi. Forrás: manual.calibre-ebook.com/regexp.html#id6)

Behelyettesítendő szöveg cellát üresen hagyom.

Meg kell nyomni a hozzáadás gombot, és konvertálás.
Számomra kielégítő az eredmény.

vasszer 2018.03.14. 11:27:03

A forrás hivatkozás helyesen ’)’-jel nélkül: manual.calibre-ebook.com/regexp.html#id6 .

vasszer 2018.03.14. 12:56:10

Kis egyéb: versesköteteket a diá-ról nehezen tudtam calibrével formázni. Elveszett eddig a verscímek formázásai, a térközök. Most így tudtam megbuherálni a dolgot:

– letöltve xhtml-ben az adott keretrész.
– konvertálásnak nekikezdés
– a fent leírt módon az oldalszámok kiütésének beállítása, tesztelése

******************
a lényeg:
– a böngészőben a külön megnyitott keret oldalforrását megnézni (általában: jobb gomb, helyi menüből kiválaszt).
– megkeresni, megnyitni a forrásban a ../presentation-base.css fájlt
– a css tartalmát átmásolni a /konvertálás/kinézet és megjelenés/Stílusok/Extra CSS-ek ablakba. (elméletileg ide elegendő lenne a *.css fájl hivatkozását elhelyezni, de így nekem nem sikerált)
– OK: mehet az átalakítás/konvertálás

Azt is bizonyára meg lehet oldani, hogy a versek külön oldalra kerüljenek.
A tartalomjegyzékért is vért izzadtam de nem sikerült. Akkor inkább olvasok… Ha valaki spíler calibréban, nagyvonalú lenne, ha segítene ez ügyekben. Előre is köszönet.

Amivel csináltam: dia.jadox.pim.hu/jetspeed/displayXhtml?docId=0000000101&secId=0000009849&mainContent=true&mode=html#WORD_1_1
Minden jót!

sala 2018.03.19. 09:14:45

@vasszer: A calibre egy igen hasznos eszköz, ha ekönyvekkel foalalkozik az ember.
A fenti scriptem is használja (ebook-convert, ebook-meta).
A grafikus felület konvertálója is hasznos lehet, de mivel ez egy parancssoros blog, ezért nem írtam róla.

A scriptem nyilván szörnyű és elég reménytelennek tűnik karbantartani a változó dia formátumok miatt.

Továbbra sem értem, hogy több mint 5 évvel az eredeti bejegyzésem után miért nem lehet még mindig letölteni valami elfogadható ekönyv formátumban a könyveket a dia-ról. Mintha direkt megnehezítenék a könyvek olvasását.

dzsekitcsen 2019.02.07. 16:32:17

Az új, reader.dia.hu kezdetű oldalakon lehet bármit is csinálni?

sala 2019.02.07. 18:23:40

@dzsekitcsen: Hát meglepne, ha a script rendesen működne az új oldal anyagaival.

Úgy látom még kényelmetlenebbé tették az olvasást, mintha az lenne a céljuk, hogy ne olvassa senki a könyveket.

-TEd- 2019.02.15. 11:23:32

network forgalom figyelésével meg lehet találni a régi oldalhoz hasonlóan egyben a fájlokat, kb ilyesmi lesz amit keresni kell: reader.dia.hu/rest/epub-reader/component/PIMDIA9475_%20Darvasi_Laszlo-A_konnymutatvanyosok_legendaja-00010.xhtml

Robo Xoom 2020.06.06. 20:22:14

@sala: "Úgy látom még kényelmetlenebbé tették az olvasást, mintha az lenne a céljuk, hogy ne olvassa senki a könyveket."
Igen, ez pontosan így van...
Sikerült többé-kevésbe megoldanom a letöltést, de nem teszem közkinccsé: egyrészt akkor tennének ellene, másrtészt a használathoz is kell némi programozás. Mindenesetre valahogy majd megosztom őket.

tarsadalom 2020.11.30. 10:42:36

@Robo Xoom: Nem lett sokkal nehezebb letölteni. Chrome-ban nyitsd meg dia.hu oldalon a könyvet, nyomj egy F12-öt, kattints a Network tab-ra, frissitsd az oldalt. Megjelennek a consol listában azok az xhtml filek, melyek tartalmazzák a könyvet. Például: reader.dia.hu/rest/epub-reader/component/PIMDIA16504_Krasznahorkai_Laszlo-Baro_Wenckheim_hazater-00010.xhtml. Ha a rákattintasz, és a mellette levö ablakban Preview-re, akkor onnan szépen ki tudod másolni a szöveget, formázva! Hosszabb könyvek kb. 10 ilyen xhtml fileben vannak, tehát 10 copy-paste és át van másolva a könyv Wordbe. Onnnan már csak az oldalszámokat kell kiszedni, és kész
süti beállítások módosítása