Kezdőlap › Fórumok › Programozás › „Csak guruknak” – konyhanyelven…
- This topic has 150 hozzászólás, 25 résztvevő, and was last updated 15 years, 8 months telt el by
uzsolt.
-
SzerzőBejegyzés
-
2007-11-15-21:28 #2081738
Uzsolt: És nálad mit csinál ?
Szerk: Megvan. Senki ne felejtsen el a tvmusor.cfg-ben a sor végén ENTERT ütni.
2007-11-16-08:31 #2081739Ja, igen, soronként egy csatorna 🙂
Majd ha jobban ráérek, megpróbálom azt is megoldani, hogy csak a jelen és a jövő műsorait írja ki (tehát aminek már három órája vége, azt ne). Persze ha tud valaki ilyesmi honlapot, ahonnan viszonylag egyszerű ezeket kiszedni, az ne tartsa magában!
2007-11-16-18:35 #2081740uzsolt wrote:Ja, igen, soronként egy csatorna 🙂Majd ha jobban ráérek, megpróbálom azt is megoldani, hogy csak a jelen és a jövő műsorait írja ki (tehát aminek már három órája vége, azt ne).
Meg azt is, hogy ne késsen 1 napot. Ma is (11.16 péntek) a csütörtöki műsort mutogatja
2007-11-16-19:49 #2081741Sajna az a honlap szerkesztőin múlik. Bár azért segíthetünk rajta:
Code:#!/bin/bashCONFIG_FILE=~/.config/tvmusor.cfg
function PrintChanell () {
FILE=$1
TMP_FILE=$(mktemp)
w3m -dump http://tvmusor.aweben.hu/$FILE > $TMP_FILE
MIN_SOR=$(grep -n „$(LANG=hu_HU date ‘+%B %d.’)” $TMP_FILE | awk -F „:” {‘print $1’})
MAX_SOR=$(sed -n „${MIN_SOR},$ p” $TMP_FILE | grep -n tvmusor | sed -n „1p” | awk -F „:” {‘print $1’})
MAX_SOR=$((MAX_SOR+MIN_SOR-1))
sed -n „${MIN_SOR},$((MAX_SOR-1)) p” $TMP_FILE | sed „2,$ s@^@ @g” | sed „s/ [^0-9].*//g” | grep -v -e „^[t ]*$”
rm $TMP_FILE
}exec 9>&0 < $CONFIG_FILE
while read egysor; do
PrintChanell $egysor
echo
doneHa esetleg igényel egy kis magyarázatot, szívesen. Most meggyúrom az időt is…
2007-11-16-20:02 #2081742„Most meggyúrom az időt is…”
Csak gyorsan. Már csinálom a zenity-s frontendet.
2007-11-16-20:24 #2081743Na, ne sürgess! 😉
Code:#!/bin/bashCONFIG_FILE=~/.config/tvmusor.cfg
function PrintChanell () {
FILE=$1
TMP_FILE=$(mktemp)
w3m -dump http://tvmusor.aweben.hu/$FILE > $TMP_FILE
MIN_SOR=$(grep -n „$(LANG=hu_HU date ‘+%B %d.’)” $TMP_FILE | awk -F „:” {‘print $1’})
MAX_SOR=$(sed -n „${MIN_SOR},$ p” $TMP_FILE | grep -n tvmusor | sed -n „1p” | awk -F „:” {‘print $1’})
MAX_SOR=$((MAX_SOR+MIN_SOR-1))
TMP_FILE_2=$(mktemp)
sed -n „${MIN_SOR},$((MAX_SOR-1)) p” $TMP_FILE | sed „2,$ s@^@ @g” | sed „s/ [^0-9].*//g” | grep -v -e „^[t ]*$”
shift
echo $@
CUR_TIME=$(date +%H%M) ; MUSOR_TIME=0000
(grep ” [0-9]” $TMP_FILE_2 | awk {‘print $1’} | sed „s@:@@g”) | (
while [ $MUSOR_TIME -lt $CUR_TIME ]; do
read MUSOR_TIME
done
MUSOR_TIME=$( echo $MUSOR_TIME | sed -r „s@([0-9]{2})([0-9])@1:2@g” )
MIN_SOR=$(grep -n „$MUSOR_TIME” $TMP_FILE_2 | awk -F „:” {‘print $1’})
MIN_SOR=$((MIN_SOR-1))
export MIN_SOR
sed -n „${MIN_SOR},$ p” $TMP_FILE_2
)
rm $TMP_FILE{,_2}
}exec 9>&0 < $CONFIG_FILE
while read egysor; do
PrintChanell $egysor
echo
doneA konfig-fájl szerkezete módosult, mégpedig aképp, hogy a sort ki lehet bővíteni, és a második paramétertől kezdődően mindet tv-adó nevének „nyomtat” ki. Tehát pl.
Code:m1 Az m1 adó műsoraaz m1 adót (fájlt) szedi a honlapról, és mielőtt az aktuális műsorát kinyomtatná, az „Az m1 adó műsora” szöveget vési be elé.
Ami kell: hogy legyen hu_HU, hogy a hónapot jól keresse.
Igaz, ékezetes hónapneveken még nem próbáltam, de idén az már úgyse érdekes 😉2007-11-16-20:45 #2081744Idáig jut.
/usr/local/bin/tvmusor1: line 18: [: -lt: unary operator expected
sed: érvénytelen kapcsoló — 12007-11-16-21:04 #2081745Remélem, nem megint valami lokalizációs hülyeség lesz.
Adj nekem egy date +%H%M kimenetet!2007-11-16-21:05 #2081746milfer wrote:Idáig jut./usr/local/bin/tvmusor1: line 18: [: -lt: unary operator expected
sed: érvénytelen kapcsoló — 1$((SZÁM))
2007-11-16-21:11 #2081747uzsolt wrote:Remélem, nem megint valami lokalizációs hülyeség lesz.
Adj nekem egy date +%H%M kimenetet!mondjuk : 2210
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz