Excel file merge

Néha jól jönne, ha sok külön excel fájlt, egy nagy excel fájlban lehetne látni. Erre vannak mindenféle fizetős eszközök (mind lehúzás), az excel is csinál valamit, de egyik sem az igazi.

Ha programozni akarunk írhatunk rá pár nap alatt egy java programot, ha nem akarunk, akkor a lenti script segíthet…

#!/bin/sh

#environment setup: http://software.krimnet.com/xls2csv/guide-converting-xls-files-csv-with-xls2csv-ubuntu.htm

rm result.csv

cat files.txt | tr -d "\015" | while read XLS_FILE
do
if [ $XLS_FILE == "--EOF--" ]
then
break
fi

echo Processing xls $XLS_FILE
XLS_FILE_SNAME=`basename $XLS_FILE`
cat sheets.txt | tr -d "\015" | while read SHEETS
do
if [ $SHEETS == "--EOF--" ]
then
break
fi

xls2csv -x $XLS_FILE -w $SHEETS -b UTF-8 -c tempsheet.csv
cat tempsheet.csv | grep -v "Projekt azonosító" | LANG=hu_HU.UTF-8 sed "s/^.*\$/${XLS_FILE_SNAME};${SHEETS};&/" | LANG=hu_HU.UTF-8 sed "s/\./,/g" >> result.csv
rm tempsheet.csv
done
done

A files.txt fájlból olvassa a konvertálni kívánt fájlok neveit, –EOF– -ig. Pl: :
a.xls
b.xls
–EOF–

Mitől állt meg

Új rovatunk azt boncolgatja mitől állnak meg produktív rendszerek… 🙂

Caused by: java.security.cert.CertificateExpiredException: NotAfter: Mon Jun 20 16:29:35 CEST 2011

Dos date time formatting

Nem egy kimondottan kiemelkedő téma, de ha éppen egyedül dolgozok, nem mindig commitolgatok, hanem a gyakori backup legyőzhetetlen eszközéhez folyamodok.
És ahogy a mondás tartja:
ami linux alatt trivialitás az dos alatt lehet komoly kihívás…

Amit sikerült összehakkolnom már kihasználja az új dos adta minden “lehetőséget” tehát csak XP és a fölött működik (komolyan mégegyszer átnézve legközelebb cygwin sh-t írok, de ezért nem akartam mindig cygwint indítani)

A dolog “szépsége” hogy a locale beállítás alapján minden windowson más és más a dátumformátum, amit force-olni nem nagyon tudtam, tehát ha valaki nem magyar dátumformátumot használ, és olyan elvetemült, hogy ezt a csodát akarja életre kelteni, akkor lehet kicsit konfigurálnia kell…

SET dd=%DATE:~8,2%
SET mm=%DATE:~5,2%
SET yyyy=%DATE:~0,4%

SET hh=%TIME:~0,2%
SET mn=%TIME:~3,2%
SET ss=%TIME:~6,2%

SET formatteddatetime=%yyyy%.%mm%.%dd%_%hh%%mn%
set formatteddatetime=%formatteddatetime: =0%
echo formatted date: %formatteddatetime%

Vnc ubuntu alatt

Sokszor kell, mindig elfelejtem, most már leírom ide is:

Telepítés:
sudo apt-get install vnc4server

ezekután elindítjuk a vnc4servert (létrehoz mindenféle konfigokat, bekéri a jelszót, stb)
vnc4server

ezekután lelőjjük:
vnc4server -kill :1

kicsit átírjuk a konfigurációt ami az alábbi helyen található:
nano ~/.vnc/xstartup

A fájl tartalma ez legyen:
#!/bin/sh
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

Biztos ami biztos adjunk jogot az xinitrc-re:
sudo chmod 755 /etc/X11/xinit/xinitrc

Csatlakozhatunk a host:5901 porton… (ahány példányt indítunk annyiszot emelkedik a portszám 1-el)

Az UltraVNC ha kis porotot adunk meg alapból hozzáad 5900-at, tehát ott elég megadni így: host:1

Windows tűzfal (ipfw)

Nem nagy túlzás, ha azt állítjuk, hogy a mai világban egy jó tűzfal fontosabb, mint egy jó vírusirtó (persze ez utóbbi is fontos, de erről majd egy másik cikkben). A tűzfalakkal szemben személy szerint egy alapvető követelményem van: Lehessen egyértelmű módon megadni, milyen csomagot engedjen be és milyet ne. Linux alatt sok bonyodalom nincs, valahogy ott is úgy gondolják, ahogy én, és meg is született rá a megfelelő szoftverük az iptables.
Windows alatt picit komplikáltabb a helyzet. Nézzük meg mik a lehetőségek:

– Windows beépített tűzfal: valamit csinál valami alapján, használata nem ajánlott. Iskolapéldája annak, hogy lehet olyan tűzfalat készíteni ami mindent tud, csak a fenti egyszerű elvárást nem teljesíti.

– Zonealarm: van ingyenes, és ez jó, szinte minden beállítható az ingyenes verzióba, csak globális egyértelmű szabályok, és zónák nem…

– Comodo firewall (internet security): Comodo önmagában jó. Pár apróságtól eltekintve. Először is az önmagában szó sajnos csalóka, ugyanis nem tudták megállni, hogy az önmagában az csak Tűzfal legyen, adnak mellé minden féle protectiont, át is nevezték Firewall-ról Internet Security-re. Én személy szerint ki nem állhatom, hogy ha egy tűzfalat szeretnék 1-2 másik dolgot is kapok, de (szerencsére) a többi dolog kikapcsolható benne (bár valamennyivel több erőforrást eszik). Tudásban mindent tud, beállítható, érthető kezelőfelülete van (bár a Trusted Network-ök kezelése indokolatlanul bonyolult, és nem jól megoldott). Ráadásul egyszer miután kikapcsoltam, utána is éltek a Global Rules alatt beállított szabályok. Ezen még túltettem volna magam, de sok kapcsolatnál, és pár Global Rule alkalmazásnál iszonyú CPU használatot sikerült produkálni (iszonyú ebben az esetben nagyobb, mint 50%). Hát ez azért picit túlzás még egy internet security-ért is (jó tudom nagy az az internet, meg fontos a biztonság, de ennyire?)

Szóval a megoldás: wipfw (IPFIREWALL for windows)

egyszerű telepíteni, egyszerű beállítani, és működik. Aki nem járatos az iptables/ipfw rule kezelésben annak gondot jelenthet, de ha beéri az én biztonsági beállításaimmal, akkor telepítés után az alábbi dolgokat kell lefuttatni és működni fog.
Töröljük az összes beállítást:
ipfw -q flush
A beállítások minden bejövő csomagot tiltanak, kivéve a dhcp-t (hogy kapjunk ip címet):
ipfw add 00100 allow ip from any to any via lo*
ipfw add 00110 deny ip from 127.0.0.0/8 to any in
ipfw add 00120 deny ip from any to 127.0.0.0/8 in
ipfw add 00500 check-state
ipfw add 00501 deny ip from any to any frag
ipfw add 01500 allow udp from any 67 to any 68
ipfw add 01700 allow icmp from any to any icmptypes 3
ipfw add 01701 allow icmp from any to any icmptypes 4
ipfw add 01703 allow icmp from any to any icmptypes 0 in
ipfw add 01704 allow icmp from any to any icmptypes 11 in
ipfw add 65500 allow ip from me to any keep-state
ipfw add 65534 deny ip from any to any

Akinek kell windows file sharing:
ipfw add 01501 allow ip from any to any 135-139 in
ipfw add 01501 allow ip from any to any 445 in

Akik szeretnék, hogy a létrejött kapcsolatokat ne kelljen mindig újra felvenni:
ipfw add 00502 allow tcp from any to any established in

Az aktuális szabályokat kilistázni az ipfw list parancsal lehet. Törölni értelemszerűen az ipfw delete parancsal. Pl:
ipfw delete 00502

Ha valaki naplózni szeretné a történéseket akkor a log szócskát kell a szabályba írni:
ipfw add 65534 deny log ip from any to any
A napló helye: c:\WINDOWS\security\logs\wipfw{YYYYMMDD}.log

Az wipfw honlapja: http://wipfw.sourceforge.net/

WinDirStat

Régen egy barátomnál láttam egy programot, ami megmutatta, hogy a merevlemezen mi mennyit helyet is foglal. Égre-földre kerestem az alkalmazást annak idején. Most teljesen véletlenül találtam rá, érdemes vetni rá egy pillantást, mindenkinek aki szereti.
WinDirStat