Szkriptek: Python, Perl, Bash, ...

[megoldva]pg_dump pythonbol

 ( GergA84 | 2018. április 19., csütörtök - 14:05 )

Sziasztok,

Szeretnék egy AWS-ben található PostgreSQL adatbázisból dumpolni. A dumpot a későbbiekben anonimizálni és feltölteni egy másik helyre teszt jelleggel.

Mindezt pythonban szeretném megoldani és már a dump készítésénél elakadtam :-)

1. Mivel a db nem érhető el közvetlenül, mappeltem a portot amin elérhető a helyi gépre "sshtunnel" lib használatával.
2. A localhost:port:név:jelszó:db beállítást elraktam a .pgpass fájlba a ~ folderbe hogy ne kelljen a jelszóval vesződni.

cli-ből az alábbi parancs simán működik

perl "unsigned char" hogyan

 ( gaby | 2018. április 9., hétfő - 21:13 )

Üdv

Amit szeretnék: Perl-ben összeadogatni pár (10-15) byte-ot és a végeredménye is byte, azaz "unsigned char" méretű legyen. (Mint egy ellenőrzőösszeg.)

Volna erre megoldás?

Segítséget előre is köszönöm.

Magyarázatot kérek egy rövid szubrutinhoz

 ( render_elek | 2018. április 7., szombat - 12:38 )

sziasztok,

van egy működő példa, amit nem értek.
Próbáltam volna debuggerrel követni a változókat, az szokott segíteni felfogni a kódot, de most "Szegmentálási hiba"-val elszáll a padre debuggere.

Már a 3. sorral gondjaim vannak :)
Továbblépni nem szeretnék, amíg ezt meg nem értem.

Minden segítő szándékot előre köszönök!

Shell script kérdés

 ( miq | 2018. április 4., szerda - 21:18 )

Sziasztok,

Van egy kb 400000 sor hosszú log, ami kb. fél éve gyűlik, az alábbi formátumban:

Apr 04 20:32:10 event01
Apr 04 20:32:13 event05
Apr 04 20:32:21 event02
Apr 04 20:33:02 event01
...

Ebből kellene kinyerni minden egyes event-re, hogy egy tetszőlegesen válaszott 60 perces vagy 24 órás időszakban az adott esemény hányszor következett be.
Tulajdonképpen azt kell megkapni, hogy mekkora az a legkisebb rate-limit, ami még nem akadályozta volna.

Furcsa perl regex viselkedés

 ( Safi | 2018. március 23., péntek - 11:28 )

Hello,

van ez a nem túl komplikált perl szkript: code

A bemeneti fájl szinten elég egyszerű: text

A 27. sorban lévő regex akkor match-el ha:
- Ez az egyedüli regex a while loop-ban
- Mind a 3 regex szerepel a while loop-ban (Sorok: 18, 22, 27)

Perl CGI - nem azt csinálja, amit kell-

 ( render_elek | 2018. március 20., kedd - 16:26 )

Sziasztok,
vége felé haladok a perl könyvnek, eddig sikeresen végigcsináltam a gyakorlatokat, de ez most kifogott rajtam.
Szeretnék építő jellegű segítséget kérni (hol szúrtam el, hogy jöttél rá, hogyan javítsam ki) és nem egy <300 byte-ba bezsúfolt hatékony teljesen új kódot.
A feladat ez volt:
Írjunk CGI vendégkönyvet, amely lehetővé teszi, hogy a felhasználók egysoros megjegyzéseket fűzzenek a weboldalhoz.
Működik, de rosszul.
Minden bejegyzést rögzít a vendégkönyvben, de csak mindem 2-at írja ki az oldalon. Miért?

Script írása -segítség kérés-

 ( PcZolee | 2018. március 20., kedd - 14:43 )

Sziasztok.

A legtöbb dolgot megoldottam eddig különböző script nyelveken, de most elakadtam.

Van két forrásom (m3u-k):

Egyik:

#EXTINF:0, Vegyes - m1
http://192.168.1.10:8001/1:0:1:778D:2C2:600:E080000:0:0:0:
#EXTVLCOPT:program=4040
#EXTINF:0, Vegyes - M1 HD
http://192.168.1.10:8001/1:0:1:FC8:D:1:E082E2F:0:0:0:
#EXTVLCOPT:program=30607
#EXTINF:0, Vegyes - m2 / Petofi
http://192.168.1.10:8001/1:0:1:778F:2C2:600:E080000:0:0:0:
...

(A fájl ugyanilyen formában folytatódik tovább )

Másik:

#NAME Tvheadend Channels

Van itt valaki, aki rendszeresen programozgat GUI-t, python3 alatt?

 ( HZ | 2018. március 16., péntek - 21:35 )

Érdekelne, hogy van-e élő ember, aki rendszeresen készít GUI-s programokat python3-ban?
Ha van: milyen grafikus keretrendszert használ?

Az elsődleges gond, hogy python3 alatt kellene működnie, ami sok esetben problémás, mert a 2-es csomagok igen nagy hányada nem lett portolva, így nem tudom, a grafikus keretrendszerekkel mi a helyzet.

A másodlagos a tisztességes/elfogadható doksi. Kezdtem a tkinter-rel, de már az elején elakadtam, mert egészen alapvető dolgok nincsenek normálisan dokumentálva a megtalált leírásokban.
Előszedtem a Qt-t.

Parancs csere, luta infos.

 ( kalaso | 2018. március 14., szerda - 15:37 )

Hali,

Tudna valaki segiteni hogy ha van egy parancs:

"go server" azt hogy lehetne ugy elintezni hogy ugy vegye be hogy "ssh %server" ??

% fontos hogy a file elott legyen, kulonben nem megy.

aliasokkal probalkoztam de nem jott ossze.

Tkinter Frame, dinamikus mérettel

 ( HZ | 2018. március 9., péntek - 17:00 )

https://github.com/haa-zee/tkinter-tutorial/blob/master/2nd_ablak1.py

Van ez a csodás kis szkript.
Azt szeretném, hogy a Frame ne fix méretű legyen, hanem igazodjon a "root" ablak méretéhez.
Pár variációt kipróbáltam, de sehogy sem akar összejönni. A sticky összes verzióját beleértve. Valamit nagyon félreértek...
(a relief sem akar működni valamiért, de annak még nem jártam utána)

én vagyok a béna, vagy valami mágia van?

 ( Nextra | 2018. február 26., hétfő - 22:48 )

Terminálban kiadva az alábbi parancsot: opera-developer --version megkapom a verziószámot.
No de ha ezt beteszem egy bash szkriptbe:

installed_version=`opera-developer --version`
installed_version=$(opera-developer --version)
installed_version="$(opera-developer --version)"
echo teleptett verzió - $installed_version

Egyszerűen nincs eredmény. Így reménytelen a frissítési mechanizmus. De már a telepítés során is hülyeségeket írt ki. Hogy nincs munkakönyvtár vagy valami. Holott a program elindul, működik.

Bash magic - asszociatív tömb

 ( jupiter2005ster | 2018. február 19., hétfő - 16:34 )

Minap ebbe futottam a stackoverflow-n
https://stackoverflow.com/questions/3112687/how-to-iterate-over-associative-arrays-in-bash
foreach(){
arr="$(declare -p $1)" ; eval "declare -A f="${arr#*=};
for i in ${!f[@]}; do $2 "$i" "${f[$i]}"; done
}
$ bar(){ echo "$1 -> $2"; }
$ declare -A foo["flap"]="three four" foo["flop"]="one two"
$ foreach foo bar
flap -> three four
flop -> one two

valaki eltudja magyarázni az f="${arr#*=} változót?

digitalstand.hu wrapper script

 ( machobymb | 2018. február 14., szerda - 11:28 )

Sziasztok!

Érdeklődök, hogy nincs egy wrapper script a tárgyban írt oldalhoz, hogy egy megvásárolt könyvet oldalanként le tudjak kép formátumban menteni, majd PDF-et csinálni belőle? Ahhoz hogy le tudjam szedni, be kell jelentkezni, majd a könyv 2 oldalanként megjelenik, illetve felnagyítható oldalanként, de macerás nézegetni. Torrent oldalon meg nincs fent a könyv.

Üdv:
Laci

mappa létezésének vizsgálata case segítségével

 ( Nextra | 2018. január 31., szerda - 21:43 )

Mappák létezését vizsgálnám. Sima ügy:

if [ -d "${folder}" ]; then 
blabla
fi
<>

No de a mappákban fájlok találhatók, melyekkel kezdeni szeretnék valamit.
Ha a mappa létezik, kérdezd le a benne lévő N fájl verziószámát. Igen ám de a verziószámokat különbözőképpen lehet lekérdezni.
Ezért az else ág sem elég. Teszem azt 5 könyvtárról, és 5 fájlról beszélünk.
Gondoltam a case szerkezetre, de így nem működik:

[code]
if [ -d "${folder}" ]; then
case "${name}" in
file1)

szkript kapcsolóval

 ( Nextra | 2018. január 22., hétfő - 20:42 )

Felvetődött bennem egy olyan kérdés hogy miként oldható meg a következő dolog.
Adott egy szkript mely frankón lefut. De ha például egy -o kapcsolóval indítanám, akkor magában a futó szkriptben felvesz egy adott változó egy másik értéket, és annak megfelelően fut le. Ergo a kapcsolóval felülírom a bent lévő változót.
Kéne mondjuk 4 kapcsoló bele. -o, -od, -v, -vs
Persze mint ismertek, ez továbbra is bash. A getopts dolgot nézegetem, de olyan példát amit fentebb vázoltam, még nem találtam.

stringcsere és bővítés pythonban [megoldva]

 ( bzs | 2018. január 21., vasárnap - 16:04 )

Sziasztok.

Adott 232032313^23 db txt fájl, melyek elején van egy ilyen stringelrendezés:

\lnff elsoszo innen meg jon atobbiszoveg

Az elsoszo hossza változó lehet, a többi lényegtelen, ami jön.

Cserélendő az \lnff és az elsoszo oly módon, hogy még {} használat is van:

\letf{e}{lsoszo} innen meg jon atobbiszoveg

Erre megoldottam egy pitonkódot', ami itt van:

[code]
#!/usr/bin/python

def make_atiras(mondat):
print len(mondat)
atiras_mondat = '\letf{' + mondat[6:7] + '}{' + mondat[8:len(mondat)]+ '}'
return atiras_mondat

bash color debug

 ( Nextra | 2018. január 19., péntek - 17:11 )

Van valami feature arra hogy a bash a debuggolás kimenetét színesben nyomtassa?
#!bin/bash -xv (Már ez is jobb mint a sima -x) De az lenne az igazi, ha az olvasott parancsokat, és végrehajtást két különböző színnel nyomtatná ki. A hibát mondjuk pirossal, a jókat zölddel, a beolvasott dolgokat fehérrel, stb.

bash tömbök

 ( Nextra | 2018. január 15., hétfő - 20:33 )

Létrehoztam két tömböt a readarray segítségével.
Mind a kettő fájlneveket tárol. Ez most csak tesztfájl, és nem a valódi cronnal dolgozom, csak annak egy kimásolt tartalmával!

# sh fájlok a mappákból
readarray Array1 <<< "$(find ${path} -name *.sh | awk -vFS="/" '{print $7}' | sort)"

# fájlnevek a cron tartalomból
readarray Array2 <<< "$(cat ${cron_data} | awk -vFS="/" '{print $7}' | sed -e '/^$/d' | sort)"

Ha kilistázom az első kettő tömb tartalmát, akkor úgy látom nincs hiba.

echo "${Array1[@]}"
echo "${Array2[@]}"

sed: [] közti string cseréje [megoldva]

 ( bzs | 2018. január 14., vasárnap - 14:03 )

Sziasztok.

Van egy nagy szövegfájlom, amiben véletlenszerűen vannak a sorokban ilyenek:
[valami]
Szögletes zárójellel együtt.
Azt szeretném, hogy a sed a zárójellel együtt cserélje ki ezeket a semmire, azaz az üres karakterre ("").

Milyen reguláris kifejezést kell használnom a sed után?

cat szovegfile | sed 's/[valamivaltozatos]//g' >idebele.txt

fájlok létezésének ellenőrzése listából

 ( Nextra | 2018. január 9., kedd - 19:16 )

Merre induljak el? (bash)

Adott a CRONTAB, melyben ott figyelnek a periodikusan lefutó feladatok.
Adott egy FŐKÖNYVTÁR, melyben számos véletlenszerű alkönyvtár jöhet létre, és abban számos olyan sh parancs, mely belekerült a CRONTAB-ba.
Ha letörlöm a már szükségtelenné vált sh állományt, szeretném ha automatikusan törlődne a CRONTAB-ból is az őt futtató bejegyzés.

Az sh fájloknak különböző nevei lehetnek, és különböző mappákban helyezkedhetnek el a FŐKÖNYVTÁRON belül.

bash loop

 ( Nextra | 2018. január 2., kedd - 20:00 )

Hogyan tudnám loopolni a szkriptet saját magát?

Adott egy kis szkript mely kidob egy számozott listát, és kéri hogy válaszunk EGY számot. Ekkor végrehajtja a feladatot, és jelenleg kilép. Ha a 0 számot választjuk (ez nem szerepel a listában), akkor is kilép.

Ezt szeretném úgy megoldani hogy ne lépjen ki a feladat elvégzése után, hanem térjen vissza a kiinduló állapotba.
Csak akkor lépjen ki, ha 0-t írnak be.

Ismerem a "for" ciklust, a "while" ciklust, de ezek mindig egy feltételhez kötik a dolgot. Itt viszont nincs feltétel.

at időzitő

 ( Nextra | 2017. december 26., kedd - 21:28 )

Adott egy egyszerű szkript melyet megadtam az AT időzítőnek.
Ezt az egyszerű szkriptet is már egy másik szkript hozta létre.
Tehát változhatnak a mappa és fájlnevek, meg a szkriptben lévő dolgok is,

Az AT időzítőben minden helyesen meg is jelenik (sudo cat /var/spool/at/*feladat)

cd /home/user/my pathX/my dirX (MOST éppen ebben van a futtatandó szkript)
sh futtatandó szkript (szintén akad benne szóköz)
rm -f futtatandó szkript (törölje a szkriptet ha végzett)

Instagram OAuth nem fogadja el a küldött JSON adatot

 ( elephant | 2017. december 13., szerda - 13:43 )

Sziasztok,

Egy Flask alapú weboldalon dolgozom, ami majd a jövőben az Instagram API-n keresztül fog lekérni adatokat, ezért szükséges hogy azonosítsam a felhasználókat OAuth2 segítségével. Elvileg nem bonyolult a folyamat: https://www.instagram.com/developer/authentication/ de a harmadik lépésnél nem találom a Python megoldást.

Az ide vonatkozó kódrészletem így néz ki:
[code]
@app.route('/callback')
def callback():
code = request.args.get('code')

payload = {"client_id": client_id,
"client_secret": client_secret,

kicsit megakadtam a bash szkriptben

 ( Nextra | 2017. december 5., kedd - 1:12 )

Kinyertem a csatorna listát az mplayer konfigból így.

mplayer_channel_list="/home/$USER/.mplayer/channels.conf.cbl"
cat ${mplayer_channel_list} | awk -vFS=":" '{printf("%03d %s\n", NR, $1 ";")}'

Ez így jó is. Viszont szeretném megjeleníteni rendezett 4 oszlopos formában.

Erre két szubrutin szolgál mely meg is jeleníti, de levágja a szöveget a szóközöknél.
Vagyis

061 Spektrum
065 Nat

a Geo HD már nem látszik.

A mezőhatároló a ; karakter mert arra még talán szükség van. S mivel ez foglalt, így nem tudok megadni neki mást.

Shell Script csoport

 ( S4m4n | 2017. november 29., szerda - 10:10 )

Sziasztok! Letrehoztam egy facebook csoportot, hatha volna ra igeny: http://facebook.com/groups/shellscript
Arra gondoltam, hogy itt megoszthatnank egymassal hasznos scripteket.