Szkriptek: Python, Perl, Bash, ...

[megoldva] bash változó más néven

X_A=AAA
X_B=BBB

echo X_$1 #ezt hogyan kellene hogy az alábbit adja? nézegettem a paraméter behelyettesítést, de nem jöttem rá.

./script A
AAA

nem muszáj paraméterrel. ugyanaz a szkript más symlink meghívásával, basenameből kiszedni A-t vagy B-t és úgy módosítani a változó nevet vajon lehet-e?

szerk:
--

X_A=AAA
X_B=BBB
var=X_$1

echo ${!var}

./script B
BBB

---
X_A=AAA
X_B=BBB
var=X_$1

eval echo \$var

szöveg beszúrása meglévő fájlba megadott helyre

bash scripttel szeretném megoldani hogy egy már meglévő szöveges fájl megadott helyére beszúrhassak sorokat.
Ilyet még nem csináltam és nem is tudom hol nézzek utána.

pld. az /etc/udev/rules.d/40-usb_modeswitch.rules fájl KB. közepére be kéne illesztenem két sort.

Azt hogy hová, azt az idProduct számok mutatják meg.

# ZTE MF691 (T-Mobile Rocket 2.0)
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1201", RUN+="usb_modeswitch '%b/%k'"

# ZTE MF195 T-Mobile
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1210", RUN+="usb_modeswitch '%b/%k'"

# ZTE MF192+
ATTR{idVendor}=="19d2", ATTR{idProduct}=="1216", RUN+="usb_modeswitch '%b/%k'"

Python programok gyorsabb futtatása

Sziasztok!

Csináltam egy adatfeldolgozó szoftvert, amely lelkét néhány napos munkával Python-ban implementáltam.
Sokszáz MB-os adathalmazt dolgoz fel, értékel ki. Asszociatív tömbök tömkelegével játszik.

Kíváncsiságból a pypy-vel is futtattam, illetve újabb néhány nap alatt megírtam C-ben is.

Futási eredmények:
/usr/bin/python feldolgozo.py # 3,5 perc
cython és gcc-vel lefordítva # kb. 2 perc
/usr/bin/pypy feldolgozo.py # 40 másodperc
C-ben megírva ugyanez a feldolgozó: 7 másodperc

Kérdésem: lehet-e tovább gyorsítani a python-t valahogy?
Esetleg a kódolás terén mire érdemes odafigyelni, ami erőforráspazarló Python esetén?

[megoldva] Szöveges kimenet színezése

A python-pygments (= pygmentize) vagy más parancssori eszköz segítségével szeretném megoldani, hogy egy cat-tel kiírt szövegfájl minden 5. sora sajátos színezést kapjon. A cat f1|pygmentize -g már valamelyest kiszínezi a kimenetet, de én a (táblázat-szerű) szöveg adott sorszámú sorait szeretném elkülöníteni színekkel.

Szerk: ügyes megoldások vannak itt is, pl. bash-ben:
for (( i = 0; i < 17; i++ )); do echo "$(tput setaf $i)This is ($i) $(tput sgr0)"; done

RaspberryPi-n Perl, vagy Node.js?

Udv,

Egy raspberry pi-n futtatott cli-s apphoz szeretnek webes frontendet gyartani, azoban a megvalositasban mar ott hiba csuszott, hogy nem tudok valasztani ket nyelv kozul.Perl

pro:

  • regen perl-eztem, nem artan felfrissiteni
  • szivesen kiprobalnam a mojolicio.us-t
  • alapbol ott van a pi-n

contra:

  • fuggosegek kezel(hetetlensege|ese)
  • a mojo mint framework, vajon nem tul robosztus-e a kis pi-hez

Node.js

pro:

  • fuggosegek egyszeru kezelese
  • lehelletnyivel jobb OOP
  • manapsag divatos, igy talan megeri tobbet foglalkozni vele

contra:

  • talan nem mindenki akarja felrangatni a nodejs csomagokat a pi-re
  • vajon nem lesz lassab pi-n mint egy perl-es megoldas

A fenti listat csak gondolat ebresztonek irtam, a teljesseg igenye nelkul.

Ti mit valasztantok, es miert?

Könyvtár keresés Attribútumom szerint és automata módosítás...

Sziasztok.

Egy olyan Scriptet szeretnék írni amivel megkeresek egy adott könyvtárban minden almappát aminek "XY" a neve ezt mondjuk beíratom egy File-ba. Következő lépésként pedig valahogy kiolvastatom a file tartalmát, soronként beillesztem mondjuk egy ls -l parancs után és ezt is szűrőm Attribútumom szerint. Ha ez a 2 rész megvolt minden olyan könyvtár aminek az Attribútuma 744 azt módosítanám 777-ra.

Ebből a részből ezt szépen megcsináltam.

"#!/bin/sh

logfolder=/root/tools/logfolder/

find /"KERESÉS_HELYE"/ | grep "XY-ra Szűrés" >> $logfolder/newfolder.txt"

Viszont itt elakadtam.

cat -al próbálkoztam de nem biztos, hogy nekem ez kellene...

Valaki rá tudna vezetni a megoldásra?
Köszönöm előre is...

shell cgi script - nem értem

Van egy jó kis RPI, rajta egy kamera, web szervernek fut a busybox.
Itt a kép készítő/megjelenítő része:


WEB_IMAGE="../data/img-$$.jpg"
raspistill -vf -hf -n -w 640 -h 480 -t 200 -o $WEB_IMAGE
echo "[img style=\"width: 640px; height: 480px;\" alt=\"$WEB_IMAGE\" src=\"$WEB_IMAGE\"]"

(A relációs jeleket szögletesre cseréltem)
Érdekes módon, a data könyvtárban egy (egyébként teljesen jó) img-3223.jpg jön létre viszont, a WEB -re img-3227.jpg megy ki, a busybox pedig 404 hibát ír. Mintha a raspistill parancs "önállósítaná" magát és felülírná a kép nevét.
Működött nekem egy ilyesféle script, de ott a egy másik "folyamat" hozta létre a képet, addig lock filet használtam amíg el nem készült, majd akkor "gyorsan" lemásoltam a WEB számára.
Viszont akkor sem értem miért változik a $WEB_IMAGE változóm. Ötlet?

mysql password bash beirása

Üdv,

Van egy bash scriptem, ami könyvtárakat hoz létre és ir be egy mysql táblába a bekért paraméterek alapján.
A gondom ott kezdődik, hogy a script futását megakasztja a mysql jelszóbekérése.

Ezt hogy tudom a scripten belül emgoldani?

A mysql -u userem -pPASSWORD nem jó, kézzel kell beirnom a jelszót.

Előre is köszönöm.