Szkriptek: Python, Perl, Bash, ...

Named pipe használata awk-ban

Azt szeretném, hogy amit egy programból named pipe-ba írok, azt awk-ban getline-nal el tudjam olvasni. A probléma viszont az, hogy ez blokkolós. Van egy ciklusom, amelynek futnia kell, s ha a named pipe-ba bejött egy sor, akkor azt átvenném getline-nal.

if ((getline row <pipe)>0) {
  printf("%s\n", row);
}

Ez a próbálkozásom. Ami szörnyű, hogy blokkolós, bent marad a getline-ban, amíg egy másik programból nem írok a pipe-ba. Utána már megy, csak az elején teszi ezt velem.

pdf csatolmányok kibontása

Adott egy konténer pdf fájl, amiben különböző fájlok vannak "becsomagolva".

 

A dokumentum kvázi egy fedlapból amin hivatkozással jelennek meg  a becsomagolt fájlok.


Pl.

"A konténer 2 db fájlt tartalmaz. A dokumentumokat az Adobe Reader Csatolmányok ablakából megnyitva tekinthető meg."

 

Csatolmányok

minta.docx

minta.xlsx

 

Kérdés: hogyan lehet automatikusan (Python vagy Bash szkripttel) ebből a konténer pdf fájlból a fájlokat kinyerni?

 

Köszi az ötleteket.

Libreoffice Calc VBA / dátum megjelenített értékének kiolvasása

Sziasztok, hogyan tudom kiolvasni egy cellában lévő dátum megjelenített szöveges értékét a numerikus reprezentációja helyett? Előbbi értéke egy szöveg: "2012-01-01", utóbbi értéke egy egész szám: "40909".

Saját függvényhez kell. Példa:

public function tt( myrange as variant )
    a = myrange(0,0)
    msgbox(a)
end function

Ha egy cellába ezt a függvényt adom "=TT(A1)" és A1 értéke "2012-01-01", akkor az "a" változó értéke nem "2012-01-01" lesz hanem "40909". Nekem az előbbi kellene.

Az vajon a gond hogy a myrange már csak egy tömb aminek nincsenek lekérhető tulajdonságai metódusokkal, ugyanis ez nem működik: myrange(0,0).value vagy myrange(0,0).formula.

Hogyan tudnám elérni a függvényemből a megjelenített string értékét? Nekem a dátum formátum kell. Ugyanis nem eldönthető a sima integer-ről hogy az egy számból jött vagy egy dátumból.

Ötlet? Köszi.

[megoldva] Pexpect és Cisco

Sziasztok, reggel óta ezzel küzdök, már lassan begolyózok.

Egy cisco switchnek szeretnék küldeni néhány parancsot, és feldolgozni a kimenetét.

A kódom:

import os
from pexpect import pxssh
import sys

child=pxssh.pxssh()
child.logfile = open('plog.log', 'wb')
child.login('10.0.0.1', 'cisco', 'cisco' , auto_prompt_reset=False)
child.sendline('term len 0')
child.expect('#')
child.sendline('show int desc')
child.expect('#')
print(child.before)

A kimenet egy barátságos

b''
 

 

A log file tartalma:

Testswitch#

Testswitch#

Testswitch#

Testswitch#

Testswitch#term len 0
show int desc

Én értettem valamit félre? A child.before -nak vissza kellene adnia a sh int desc kimenetét.


pexpect (4.8.0)

Python 3.4.10

Interpreterben tesztelve a child.read() kiadja a kívánt kimenetet...

Van valakinek ötlete, merre tovább?

Minden szám ami nem IP

Sziasztok,

Nem jutok előrébb, egy log fájlból kellene kiszednem paracssorban minden számot ami min 9 karakter hosszú. (lehet benne space, ".", és "-") de nem az IP.

Arra gondoltam valahogy szűrnöm kellene az IP 4-es formátumot, de nem tudom ,hogy lehetne ráilleszteni a kifejezésre.

Ezt ne nézze /((\d{1,3}\.){3}(\d{1,3}))/

de ezt keresse /([\d \(\)\.\-]{6,})/

Lehetséges, hogy ezt nem lehet egy lépésben megoldani?

 

Ahogy néztem nem lehet csak 2-es csoportot kinyerni grep-el.

grep -E "(([0-9]{1,3}\.){3}[0-9]{1,3})|([0-9 \(\)\.\-]{6,})" data.log

bash szkript kacsolókkal

Írtam egy bash szkriptet mely kapcsolókkal működik. Ha rossz kapcsolót adok meg kiírja hogy nem jó, és a súgó lehetőséget. Hogy tudom megoldani azt, ha kapcsoló nélkül indítom, akkor is kiírja a súgót?

while [ "$#" -gt "0" ]; do
    case "${1}" in
         --a) blabla; shift;;
         --b) blabla; shift;; 
         --c) blabla; shift;;
         --h|--help)
              printf "itt a súgó"
         *) printf "Ismeretlen kapcsoló ${1}\nSúgó: command --h(elp)\n"
         exit ;;
    esac
done

[megoldva] Python változó láthatósága

Elég basic téma, tudom, de mégis belefutottam.

Ez a kis python program hogyhogy nem írja ki az alábbi hibaüzenetet?

local variable 'a' referenced before assignment

Van ennek valami méretkorlátja? Ha ugyanez a szitu egy nagyobb programban kerül elő, nemcsak warning jön, hanem lehal a futás a fenti hibaüzenettel, ha nem írom ki explicite a függvényben, hogy global a.

a=2

def perform_strategy():
    print('a:', a)
    return

for x in range(0, 2):
    perform_strategy()

megoldva, köszönöm - python 3 ssh klienst ajánljatok jó szívvel - paramiko

Szervusztok!

Lehet hogy túl sok igényem van, hogy

- py2-t már csak ne új projektbe,

- kulcsot képes legyen kezelni,

- menjen egyedi port-ra is,

- adjon std.err output-ot,

- élő projekt megfelelő karbantartással legyen mögötte,

- megoldott legyen benne az scp is,

Ezt az oldalt már kidobta a kereső, de nem vagyok vele előrébb,

https://wiki.python.org/moin/SecureShell

mert a spur kiesik a std.err-al,

a paramiko kiesik, mert nem megy 22-n kívül más port-ra

a többi meg - legyen külső bináris és csövezzem be?

Kösz az ajánlást, javaslatot, stb!

Üdv,

vfero