» »

[Bash] lit v pdf čez cel direktorij

[Bash] lit v pdf čez cel direktorij

christooss ::

Po brskanju nisem nikjer našel direktnega programčka za konvertanje datotek .lit v pdf zato sem se lotil z majhno drugačnega zornega kota

trentuno je nastal takle ukaz

clit imedatoteke.lit test/ && cd test && html2ps imedatoteke.htm > test.ps && ps2pdf test.ps test.pdf

fora je, da clit program zahteva direktorij kot izhod.

clit avtomatično pretvori imedatotke.lit v imedatoteke.htm test pa je pač moje izbrano ime. Sedaj bi pa tudi rad, da bi se avtomatično poimenovala mapa (v zgornjem primeru test/) v imedatotke/ brez .lit in nato tudi kasnejše datoteke test.ps in test.pdf v imedatotke.ps....

Vse kar sem dosedaj opisal pa bi rad naredil nad celo množico .lit datotek.

Da skupaj poberem vprašanja:
1. kako shraniti nekam imedatoteke (fino bi bilo brez končnice .lit) in ga potem kot spremenljivko uporabit kasneje
2. kako to narediti nad enim direktorijem v katerem so zbrane .lit datoteke

Hvala za odgovore
Zakaj je nebo modro? Da imamo lahko sladoled Modro Nebo

BigWhale ::

Uporabis lahko 'basename' za kolobocijo z imeni...

Vse skupaj nardis nekako takole:

for bla in *.lit
do
base=`basename "${bla}" .lit`
clit "${bla}" test/
html2ps "test/${base}.html" > "test/${base}.ps"
ps2pdf "test/${base}.ps" "test/${base}.pdf"
mv test/ ${base}
done

Takole nekako... Seveda prej preizkusi vse skupaj, sem pisal na pamet..

Zgodovina sprememb…

  • spremenil: BigWhale ()

BigWhale ::

Namesto mv test/ ${base} bi lahko ze zgoraj kar ${base} uporabil... Pa kadar delas z ${base} ga imej vedno v narekovajih, tako se izognes neprijetnostim s presledki v imenih datotek.

christooss ::

Hja problem, ki se sedaj ustvarja je, da so te .lit datoteke poimenovane po avtorjih in knjigah, kar pomeni, da bi mogel najprej dobiti ime datoteke, ki bi ga lahko uporabil kot basename. Tako tudi odpade način for bla in *.lit. Saj če pravilno zastopim to pač naj bi pogledal "serijsko številko" datoteke, če bi bile poimenovane takole imedatoteke1.lit imedatoteke2.lit
Zakaj je nebo modro? Da imamo lahko sladoled Modro Nebo

BigWhale ::

Daj ze zalepi sem nekaj imen datotek...

christooss ::

:) se opravičujem za nepostanje prej :)

Sir Arthur Conan Doyle - Round the Red Lamp.lit
Sir Arthur Conan Doyle - The Captain of the Polestar & Other Tales.lit
Sir Arthur Conan Doyle - The New Revelation.lit
Zakaj je nebo modro? Da imamo lahko sladoled Modro Nebo

BigWhale ::

$ basename Sir\ Arthur\ Conan\ Doyle\ -\ Round\ the\ Red\ Lamp.lit .lit
Sir Arthur Conan Doyle - Round the Red Lamp

$

Da bos vedel kaj naredi basename... :)

for bla in *.lit
do
echo $bla
done

Pa da vidis kaj naredi for bla in *.lit :)

potem pa naredi se tole:

for bla in *.lit
do
lala=`basename "${bla}" .lit`
echo ${lala}
done

Bolj jasno zdaj? Tisti moj primer je kar delujoc bi rekel...

PS:
basename "Sir Arthur Conan Doyle - Round the Red Lamp.lit" .lit
Sir Arthur Conan Doyle - Round the Red Lamp
Tudi tole deluje, se ve....

Zgodovina sprememb…

  • spremenil: BigWhale ()

christooss ::

Se opravičujem. Rookie mistake. Ker nisem vedel, da

basename = '.....'
ni isto kot
basename='......'

Jao jao. Sicer pa hvala. Če bo mogoče koga zanimal skripta izgleda takole, ker fora je bila, da clit ni pravilno (beri meni logično) spreminjal imen direktno:

for bla in *.lit
do
base=`basename "${bla}" .lit`
clit "${bla}" test/
done

cd test/

for blabla in *.htm
do
base=`basename "${blabla}" .htm`
html2ps "${base}.htm" > "${base}.ps"
ps2pdf "${base}.ps" "${base}.pdf"
done
Zakaj je nebo modro? Da imamo lahko sladoled Modro Nebo


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Powershell primerjaj in kopiraj

Oddelek: Programiranje
6921 (558) Blisk

Aspie test (strani: 1 2 )

Oddelek: Loža
6213114 (7258) Mavrik
»

Bralniki e-knjig (strani: 1 2 )

Oddelek: Strojna oprema
5713964 (9040) Matev
»

Amazon Kindle (strani: 1 2 )

Oddelek: Novice / Ostale najave
546884 (5537) JayKay
»

dobra knjiga

Oddelek: Sedem umetnosti
111895 (1671) Yossarian

Več podobnih tem