ha csak egész számokat kell ellenőrizni, akkor egy ilyen teszt jó lehet:
[ $1 -eq $1 ] 2> /dev/null

ha csak egész számokat kell ellenőrizni, akkor egy ilyen teszt jó lehet:
[ $1 -eq $1 ] 2> /dev/null

sürgősnek nem sürgős egyátalán, csak én elég kevés vagyok ehhez, nem nagyon tudok konkrétat kérdezni.
www.lapanet.hu
Köszönöm!
"Sajnalos" - ??? O_o >> ^_^
Én a vbscriptet ajánlom, mert XP-től kezdve telepítened sem kell semmit hozzá, csak beírod parancssorba a script fájl nevét, és lefut.
I am a digital guy in an analog world *** Civ2 Ultimate Collection eladó! ***
nagy minusz a vb scriptre, gyulolom...
raadasul ugye nagyon durvan platformfuggo (eleve csak windows, raadasul a microsoft agybaszasai miatt egyes vindoz-verziok kozott sem kompatibilis)
"egy felugró ablak kiírja, hogy pop-up blockert installáltam"
Egy ilyen alapfeladatra teljesen jó, minden windows-on ugyanúgy fog futni. Az egy dolog, hogy te gyűlölöd, de még mindig a Windows a legelterjedtebb oprendszer, és ezért ajánlottam.
I am a digital guy in an analog world *** Civ2 Ultimate Collection eladó! ***

Elég sok adatról van szó, ráadásul sorok beszúrása csak új fájl létrehozásával lehetséges. És amíg egy feldolgozás folyamatban van, gondolom változhat az eredeti fájl tartalma is. Nem tudom, hogy a végső formátumot milyen program dolgozná fel illetve az adatokat mennyi ideig kellene tárolni. De első ránézésre lehet, hogy inkább adatbázisba pakolnám az értékeket aztán onnan csinálnék lekérdezéseket és a kimenetet meg aztán könnyedén lehetne formázni.
nem azert utalom, mert fuj microsoft meg fuj windows, hanem mert irtozatosakat szoptam vele, millioszor elofordult hogy a talalt megoldas nem mukoott, mert kiderult hogy 'ja igen, ez windows 2000-nel meg megvolt, aztan senki nem tudja miert, de a ms kivette, az xp-ben mar nem mukodik' 
raadasul erre a feladatra semmi nem indokolja a vbs-t, szovegfeldolgozasra perl, esetleg awk kell 
gyorsan osszedobtam egy ronda, de mukodo megoldast perlben az 1. problemara:
my ($MAX, $last, $lastline, @prevs) = (4, -1,"");
foreach (<>)
{
my $nr = (split(" ",$_))[2];
print substr($lastline,0,20).($last+1).substr($prevs[$last+1],21) if (!($nr == 0 && $last == $MAX) && ($nr != ($last+1)) && (defined $prevs[$last+1]));
$prevs[$last = $nr] = $lastline = $_;
print;
}
a hasznalata siman ennyi:
perl scriptedneve.pl < adatok.txt
ha uj file-ba akarod iranyitani, akkor:
perl scriptedneve.pl < adatok.txt > javitott.txt
[ Szerkesztve ]
"egy felugró ablak kiírja, hogy pop-up blockert installáltam"
meg akkor mar legyen teljes, a masodik feladatot megoldo script:
my $line = "";
foreach (<>)
{
my @val = split;
if ($val[2] == 0)
{
print "$line\n" if ($line ne "");
$line = substr($_,0,20).$val[-1];
}
elsif ($line ne "")
{
$line .= " $val[-1]";
}
}
print "$line\n";
hasznalata ertelemszeruen perl scriptedneve.pl <javitott.txt
vagy ha egyben akarod a kettot hasznalni:
perl lapa1.pl <data.txt | perl lapa2.pl
sot, ha POSIX-kompatibilis oprendszert hasznalsz (gyakorlatilag a windowson kivul barmi), akkor a script elejere biggyesztve a #!/usr/bin/perl -w sort es futtathato attributumot allitva, ennyi:
lapa1.pl < data.txt | lapa2.pl
"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

huh, hát nagyon köszi. nemsoká belemélyedek.
erre a windows dologra ránéztem, de nincs a repóban:
root@inox:/home/lapa# apt-get install windows
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package windows
root@inox:/home/lapa#
ettől függetlenül vbs-ben megoldottam volna, ezekkel a junixos regulárokkal meg awk-kal nem vagyunk még összemelegedve. pedig a honlap asp-jét is migrálnom kéne már php-ba, ha jól értettem az nagyon hasonló a perlhez, pár idegesítő kivétellel.
ja, régen csináltam logon szkriptet vbs-ben, emlékszem én is valami kompatibilitási gondokra. asszem még olyan is volt, hogy xp-n futott, de 2003-on nem. na azon belilult nekem is a fejem, hiszen szegről-végről ugyanaz.
az inputot le tudom állítani, nem téma. azaz az eredeti fájl nem válozik feldolgozás közben. emiatt nem varázsolnék adatbázissal, de lehet, hogy idővel célszerűbb lenne.
igazából nógatom a digitemp fejlesztőjét (a forrás a digitemp kimenete), hogy csináljon olyan log formátumot, amit a gnuplot egyből szeret. ez szerintem elég generikus igény, tekintve, hogy "a" hőmérő meg "a" grafikon appokról van szó. szóval remélem megcsinálja idővel.
mint írtam mindjárt nekifutok és beszámolok az eredményekről.
[ Szerkesztve ]
www.lapanet.hu

az lehetséges, hogy az első megoldás a hiányzó 0-kat nem egészíti ki, csak az 1, 2, 3, 4-et? csak valami 80 sor plusz lett az eredetihez képest, pedig párezer 0-s hiányzik.
mire megnyitom és ellenőrzöm tételesen openoffice-ban a nap lemegy...
sajnos nem igazán értem mit csinál a szkripted. ami nem baj, csak nem tudom megnézni a választ a fenti kérdésre.
[ Szerkesztve ]
www.lapanet.hu

ehh, ezt megoldottam.
az utolsó kérésem az lenne, hogy az első scriptnek 5-ször kéne lefutnia. ez abból adódik, hogy néha nem csak 1 sor hiányzik.
nem izgat, hogy ötször tovább tart, de nekem hirtelen nem sikerült megfelelően for-next-et csinálni rá.
köszi és előre is.
[ Szerkesztve ]
www.lapanet.hu
hopp, most latom csak hogy irtal 
biztos hogy otszor kene lefutnia, nem potolja ki akkor is ha egynel tobb sor hianyzik?
"egy felugró ablak kiírja, hogy pop-up blockert installáltam"

nem úgy tűnik.
www.lapanet.hu

no, hát úgy néz ki készen vagyok. meg ezzel a feladattal is. ilyen szép hőmérős bigyókat csináltak a scriptek nekem. még 10 mp-enkénti fogyasztásmérésem is lett így (fekete vonal), zsír.
mégegyszer nagyon köszönök minden segítséget.
ja, ezt az ismétlősdit elég parasztosan oldottam meg, átpipeoltam ötször ugyanazon a scripten. lefut így is 20 mp alatt, nem téma.
[ Szerkesztve ]
www.lapanet.hu

üdv. kb a következőt szeretném:
[ programkimenet | grep szöveg = <legalább egy sor> ] && echo blabla | mail -s "subject" email@host.tld
nem tudom hogyan számoltassak sort (szöveg előfordulást) vele, illetve hogy ilyen egysoros if-et bele lehet-e rakni crontabba. elképzelhetőnek tartom, hogy zárójel is kell a "then"-t befoglalni. jól gondolom?
köszi a segítséget.
www.lapanet.hu

Használd a wc-t a -l kapcsolóval, az a visszaadott sorokat megszámolja:
[ `programkimenet | grep szöveg | wc -l` -gt 0 ]
Szerintem használhatod crontabban is, a sor végéig nézi az utolsó mezőben a parancsot és akár több parancsot is meg lehet adni pontosvesszővel elválasztva.
[ Szerkesztve ]

köszönöm, ez jó lett. fejleszteném viszont egy kicsit. ez az eredeti:
[ `chkrootkit | grep infected | wc -l` -gt 0 ] && chkrootkit | mail -s "chkrootkit INFECTED" email@cim.hu
ez mint látható elég bénácska, mert ha a chkrootkit talált valami gonoszságot, akkor újra lefuttatja, csak hogy az emailbe rakjuk.
szóval szeretném a chkrootkit kimenetét elrakni egy változóba, hogy a feltétel teljesülésekor újra használhassam.
[ Szerkesztve ]
www.lapanet.hu
mktemp-pel csinálhatsz egy fájlt, abba belerakod a chkrootkit kimenetét és utána abból lehet dolgozni.
a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

Üdv,
lenne egy láma kérdésem...
Adott mappában rákeresek a legfrissebb fájlra($LATESTIMG) majd feltöltöm ftp-n; milyen paranccsal tudnám átírni a fájl nevét hogy a feltöltött fájl neve mondjuk mindig kep.jpg legyen és mindig írja felül az előzőleg feltöltött fájlt????
Segítségtekét előre is köszönöm!
meglévő script:
LATESTIMG=`cd $SOURCEDIR && ls -t1 $f | head -n1`
echo "Latest Image In This Folder: $LATESTIMG"
FILE="$LATESTIMG"
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
put $FILE
quit
END_SCRIPT
exit 0
Túrista vagyok - Eladó konfig: http://hardverapro.hu/apro/4monitoros_amd_konfig_jogtiszta_vistaval_irodabol/friss.html

Üdv kedves Guruk!
Volna egy buta kérdésem: hogy tudok olyan VBS (vagy bármilyen) scriptet kreálni, ami W7 alatt automatikusan kikapcsolja a UAC-t minden egyes login után?
Odáig eljutottam sendkeys módszerrel, hogy kinyitja a a UAC ablakot, de nem akarja beírni a felhasználónevet/jelszót.
Céges gépem van, és hiába kapcsolom ki, minden újra bejelentkezéskor visszaállítja a UAC-t a legmagasabb szintre.
Van local és domain admin jogom is.
Üdv és köszi 
Nem mindig vagyok itt, hiába írja ezt az oldal. A "mindent tudó PH guruk" figyelmébe: http://phupper.com/ (Nem olvasok emailt!)
lehet, hogy windowsos szaktopicban hamarabb kapsz tanácsot, ide a nagy linux topicból jöttünk
a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

Ezt nem tudtam, nincs kiírva sehova 

Nem mindig vagyok itt, hiába írja ezt az oldal. A "mindent tudó PH guruk" figyelmébe: http://phupper.com/ (Nem olvasok emailt!)
első hozzászólás megvolt?
a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

A topic címe elég beszédes volt, de akkor húzok innen... 
Nem mindig vagyok itt, hiába írja ezt az oldal. A "mindent tudó PH guruk" figyelmébe: http://phupper.com/ (Nem olvasok emailt!)
hogyan tudok egy binaris file-hoz hozzafuzni egy null byte-ot?
amit probaltam, az az alabbi:
echo "\0" >> file
viszont ezzel ket problemam is van
egyreszt hozzafuzte a file vegehez a \0 string-et (egy backslash es egy 0 karakter), valamint emoge tett meg egy sortorest is (\n), igy 1 byte helyett harommal novelte meg a file meretet, mely 3 kozul egyik sem az, amire nekem szuksegem lett volna
Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.

echo -ne '\0' >> file
Jester
Hi!
kosznom a valaszt
idokozben mar megoldottam maskent, de sajnos nem segitett a dolog
Udv: VladimirR
Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.

Sziasztok, van egy szövegfájlom, abban szeretném azt megcsinálni, hogy soronként haladva átformázzam. (A TAB nincs igy kiirva benne, csak hogy tudjuk hogy ott van elválasztó karakter.)
"Wietmarschen"TAB"Lotte"
"Bissendorf"TAB"Gohfeld (Übergang A 30/B 61)"
És ezt kéne kapjam:
Wietmarschen,Lotte, , , , ,
Bissendorf,Gohfeld# (Uebergang A 30/B 61), , , , ,
Tehát a feladat, " jelek eltávolítása, TAB helyére vessző, Ü betűből Ue-t az ä betűből ae-t az első space elé egy #-et és a végére , , , , , (vessző space vessző space... 
Valami awk-t emlegettek itt de ahhoz nem nagyon értek. Ha valakinek lenne ráérős ideje és megcsinálná nekem akkor hálás lennék.
Elég lenne egy parancssoros valami is ami beolvassa a txt-t megformázza és kiírja egy másikba.
Köszi.
(Milkacsoki sörfizetség?
)
[ Szerkesztve ]
Plug and Pray...

#! /bin/bash
function do_field
{
tmp=${1//\"/}
tmp=${tmp//Ü/Ue}
tmp=${tmp//ä/ae}
tmp=${tmp/ /# }
echo $tmp
}
IFS=$'\t'
while read a b
do
a=$(do_field "$a")
b=$(do_field "$b")
echo "$a,$b, , , , ,"
done
MOD: ez egy "szűrő" vagyis standard inputról olvas, outputra ír. Tehát valahogy imígyen kell használni:
./script.sh <in.txt
Wietmarschen,Lotte, , , , ,
Bissendorf,Gohfeld# (Uebergang A 30/B 61), , , , ,
[ Szerkesztve ]
Jester

Köszönöm szépen.
Tudtam használni, azt csinálja amit kell:
így indítom el is készíti.
./script.sh <in.txt >out.txt
de ha olyanban tudnánk még finomítani, hogy
(átírtam így,)
tmp=${1//\"/}
tmp=${tmp//Ü/Ue}
tmp=${tmp//ü/ue}
tmp=${tmp//ä/ae}
tmp=${tmp//Ä/Ae}
tmp=${tmp/ /# }
echo $tmp
de sajnos nem tesz különbséget kicsi és nagybetű között, bele lehetne ezt is még tenni? (nem mindig a szó elején van a ü meg ä 
Sör vagy milka? 
Plug and Pray...

set completion-ignore-case on
Válaszolok magamnak nagyon köszi 
Plug and Pray...
Üdv.
Ennek a kimenete az aktuális időjárás
curl --silent "http://xml.weather.yahoo.com/forecastrss?p=HUXX0008&u=c" | grep -E '(Current Conditions:|[A-Z]<BR)' | sed -e 's/Current Conditions://' -e 's/<data=>//' -e 's/<br \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<description>//' -e 's/<\/description>//' -e 's/, [0-9]* [A-Z]//' | tail -n1
Pl: Fair, Partly cloudy stb.
A lényeg, hogy ezt a szót szeretném egy változóba írni és utána majd azt vizsgálni.
Mintha pl ezt csinálnám:
most="Fair"
2012: A PH-n csak akkor írhatod le a véleményed, hogy ha az Apple-t szidod vagy a droidot/samut isteníted. Ha leszólod a droidot/samut esetleg kiállsz az Apple mellett akkor nagy eséllyel bant kapsz.
most=$(katyvasz)
a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html
illetve (mivel a példa szerint többszavas is lehet az eredmény):
most="$(katyvasz)"
Falsus in uno, falsus in omnibus.
Kösz, most már jó én csak simán idézőjelbe tettem.
2012: A PH-n csak akkor írhatod le a véleményed, hogy ha az Apple-t szidod vagy a droidot/samut isteníted. Ha leszólod a droidot/samut esetleg kiállsz az Apple mellett akkor nagy eséllyel bant kapsz.
nem látom a különbséget.
$ most=$(echo partly cloudy)
$ echo "---$most----"
---partly cloudy----
vagy
$ most="$(echo partly cloudy)"
$ echo "---$most----"
---partly cloudy----
a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html
Hm, tényleg, a dollárzárójel egyben tartja a kifejezést.
[ Szerkesztve ]
Falsus in uno, falsus in omnibus.
if-nél hogyan kell kettős feltételt megadni?
pl
let ido="$(date +%H)"
if test [[ "$ido" -ge "6" && "$ido" -le "20" ]] szerkesztve: (talán így jó?)
then
cp icon_n.png /tmp/icon.png
else
cp icon.png /tmp/icon.png
fi
[ Szerkesztve ]
2012: A PH-n csak akkor írhatod le a véleményed, hogy ha az Apple-t szidod vagy a droidot/samut isteníted. Ha leszólod a droidot/samut esetleg kiállsz az Apple mellett akkor nagy eséllyel bant kapsz.
mégsem működik. 
[ Szerkesztve ]
2012: A PH-n csak akkor írhatod le a véleményed, hogy ha az Apple-t szidod vagy a droidot/samut isteníted. Ha leszólod a droidot/samut esetleg kiállsz az Apple mellett akkor nagy eséllyel bant kapsz.
csak csúnya megoldást tudok:
filename=icon.png
[ $ido -ge 6 ] && [ $ido -le 21 ] && filename=icon_n.png
ki kellene próbálni, hogy nem csinál-e subshellt az utolsó értékadásnak...
másrészt meg ezt is kipróbálhatod:
if [ $ido -ge 6 ] && [ $ido -le 20 ] ; then
a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html

Mert nem kell bele a test. Ja és a számokat sem kell idézőjelbe tenni, bár az nem befolyásolja a működést.
if [[ "$ido" -ge 6 && "$ido" -le 20 ]]
then
cp icon_n.png /tmp/icon.png
else
cp icon.png /tmp/icon.png
fi
Jester
Nah, már én is kipróbáltam mindent. Közben rájöttem, hogy nem ÉS hanem VAGY kell. Működik.
kösz
if [ $ido -le 6 ] || [ $ido -ge 20 ]
then
...
2012: A PH-n csak akkor írhatod le a véleményed, hogy ha az Apple-t szidod vagy a droidot/samut isteníted. Ha leszólod a droidot/samut esetleg kiállsz az Apple mellett akkor nagy eséllyel bant kapsz.

Ez pedig imígyen néz ki szebben:
if [ $ido -le 6 -o $ido -ge 20 ]
Jester
Ha van egy scriptetek, aminek a hónap utolsó napján kell lefutnia, azt hogy csináljátok meg szépen?
a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html
Ugy, hogy inkabb megis elsejen futtatnam 
Egyebkent meg szerintem kozvetlenul sehogy sem lehet maganak a cronnak elmagyarazni, hogy az utolso napot szeretned, ezert kenytelen vagy trukkozni:
0 0 28-31 * * [ "$(/bin/date +%d -d tomorrow)" = "01" ] && /your/script.sh
(as seen on Google
)
Falsus in uno, falsus in omnibus.
ha jól tudom, nálatok folyik könyvelés, úgyhogy az ilyen elsején futtatnám szöveg elég érdekesen hangzik a te szádból 
de ez a date-s ötlet jó, nekem nem ez jutott eszembe
én eddig azt ellenőriztem, hogy a holnapi nap ugyanabban a hónapban van-e, mint a mai, de a te ötleted egy date-tel rövidebb.
a PH! kedvenc ISP-trollja (C) Tyberius | http://itcafe.hu/tema/a_nagy_openwrt_topic/friss.html
Ez a script eddig kiírta az aktuális TV műsort és a típusát.
#!/bin/sh
URL="http://tv.animare.hu/rssfeed.aspx?tartalom=aktualistvmusor&tvcsatorna=1"
feed=`curl "$URL" 2>/dev/null|sed -e 's/^.*<item>.*<title>\(.*\)<\/title>.*<\/item>.*$/\1/'`
megj=`curl "$URL" 2>/dev/null|sed -e 's/^.*<item>.*<description>\(.*\)<\/description>.*<\/item>.*$/\1/'`
echo " " $feed
echo " " $megj
Ebből pl:
$ curl "http://tv.animare.hu/rssfeed.aspx?tartalom=aktualistvmusor&tvcsatorna=1"
<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>m1 aktuális műsora</title><link>http://tv.animare.hu/default.aspx?channel=1</link><description>Animare TV újság (http://tv.animare.hu/) m1 aktuális TV műsorának RSS formátumban történő közlése.</description><language>hu-HU</language><ttl>15</ttl><lastBuildDate>Sat, 24 Sep 2011 22:59:40 GMT</lastBuildDate><item><title>23:20 Montalbano felügyelő: A kőkutya rejtélye</title><description>(Olasz bűnügyi tévéfilm) </description><link>http://tv.animare.hu/tvmusor.aspx?id=b966307e914c0c488296672df231f77848</link><pubDate>Sat, 24 Sep 2011 21:20:00 GMT</pubDate></item></channel></rss>
Ezt:
23:20 Montalbano felügyelő: A kőkutya rejtélye
(Olasz bűnügyi tévéfilm)
Ez működött is amíg úgy nem döntöttem, hogy felteszem az előző rendszert (Snow Leopard). Most a sed 100%-ra pörgeti a procit és nem működik.
Más scriptekben működik a sed ott nincs vele gond csak a TV műsornál. Megnéztem két linuxal azzal is rendesen működik. Így most fogalmam sincs, hogy mi lehet a gond.
Nem én írtam, mert még csak most tanulgatom úgy, hogy fogalmam sincs, hogy mi a hiba.
Máshogy ki lehet még íratni azt a két adatot?
2012: A PH-n csak akkor írhatod le a véleményed, hogy ha az Apple-t szidod vagy a droidot/samut isteníted. Ha leszólod a droidot/samut esetleg kiállsz az Apple mellett akkor nagy eséllyel bant kapsz.

#! /bin/bash
URL="http://tv.animare.hu/rssfeed.aspx?tartalom=aktualistvmusor&tvcsatorna=1"
data=$(curl "$URL" 2>/dev/null)
title=${data##*<title>}
echo ${title%%</title>*}
desc=${data##*<description>}
echo ${desc%%</description>*}
Jester
Nagyon szuper köszönöm.
Mennyivel egyszerűbb és emlékeim szerint gyorsabban is működik. 
2012: A PH-n csak akkor írhatod le a véleményed, hogy ha az Apple-t szidod vagy a droidot/samut isteníted. Ha leszólod a droidot/samut esetleg kiállsz az Apple mellett akkor nagy eséllyel bant kapsz.