Hirdetés

2024. március 28., csütörtök

Gyorskeresés

Hozzászólások

(#1501) prucam


prucam
tag

sziasztok,

van egy file-m amiből számokat szűrök a grep-el
grep -o '_[0-9][0-9][0-9][0-9]' abc
ez lesz:
_2324
_1023
_4531
_9821
...
ezt szeretném a sed-el tovább alakítani, itt elkadtam...
| sed -e 's/_/ /g' ???

ez legyen:
(2324)
(1023)
(4531)
(9821)
...

A segítséget előre is köszi. :R

(#1502) bambano válasza prucam (#1501) üzenetére


bambano
titán
LOGOUT blog

ha csak zárójelezni kell, az csak egy újabb sed parancs a régi végére illesztve:
-e 's/.*/(&)/'

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#1503) ddekany válasza dabadab (#1478) üzenetére


ddekany
veterán

Amúgy a tr -s ' ' |cut -f5 -d' ' helyett szebb oszlop kivágásra, hogy awk '{ print $5 }'. (Igazából egyben a tail -n +2 is kiváltható vele: { if (NR > 1) print $5 })

(#1504) dabadab válasza ddekany (#1503) üzenetére


dabadab
titán

Lehet, hogy erdemes lennem megtanulnom az awkot :)

DRM is theft

(#1505) prucam


prucam
tag

Sziasztok,

csináltam egy scriptet, amivel szöveget tudok majd keresni egyszere több doksiban. A "read" -del oldottam meg mit keressen, ha beírom "kilep" akkor kilép.
Ez egy keresésre OK. Azt hogyan tudom megcsinálni, hogy egymás után jelenjen meg a read sor (tehát adatot kérje be)?

pl:
Keres:
vcjsd sdjbnc
sqjd ajdx ak
awq
dqwjd
Keres:
vdajhd ash
ba qwh
Keres:
xbak aha
aqw

stb.

#!/bin/bash
b=kilep
c=/mappa/
echo Ugrás a mappába
cd $c
sleep 2
echo -n Keres:
read a
if [ "$a" = "$b" ]; then
exit
else
grep -h "$a" $c/doksi.txt $c/nem_doksi.txt
fi

(#1506) Jester01 válasza prucam (#1505) üzenetére


Jester01
veterán

Ciklusba teszed, például

while true
do
...
done

Jester

(#1507) prucam válasza Jester01 (#1506) üzenetére


prucam
tag

Már pörög ezerrel...Köszi!

:R

(#1508) zsolti.22


zsolti.22
senior tag

Hali!

Nekem olyan bajom van, hogy cisco routerekhez szeretnék csinálni egy olyan scriptet, ami 5000 routerre belép, rámásol egy új IOS-t, egy-két parancsot elvégez még és ennyi igazából. Ezt milyen platformon érdemes elkezdeni (nem nagyon értek a scriptíráshoz)? Esetleg van valakinek hasonlója?

(#1509) sonar válasza zsolti.22 (#1508) üzenetére


sonar
addikt

talán telneten keresztül lehetne legkönnyebben megoldani (már ha van) és akkor python-ra szavaznék
(de cisco-hoz nem értek csak a cickókhoz)

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#1510) zsolti.22 válasza sonar (#1509) üzenetére


zsolti.22
senior tag

Én meg a scriptíráshoz nem, a ciscohoz igen. :K

(#1511) bambano válasza zsolti.22 (#1508) üzenetére


bambano
titán
LOGOUT blog

az attól függ, mi van engedélyezve a cisco-n, ssh vagy telnet.
itt érdemes olvasgatni.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#1512) Intruder2k5


Intruder2k5
MODERÁTOR

Sziasztok!

Gondolom lassan már mindenki - vagy legalábbis sokak - előtt ismert, hogy a http://dyn.com/dns/ oldalon bejegyzett host-ok csak akkor használhatóak a továbbiakban, ha annak tulajdonosa legalább 30 naponta egyszer bejelentkezik az oldalra! És ezt immár nem váltja ki a kliens szoftver, vagy a router által végzett IP frissítés, hanem csak a bejelentkezés a megoldás, a host törlésének elkerülésére! Na már most az "okos routerek" felhasználói közt joggal merül fel a kérdés, hogy esetleg ezt a feladatot nem lehetne-e a routerre bízni...?! Szóval ezzel kapcsolatban kérdezném, hogy született-e már, tudtok-e erre valami megoldást, mondjuk shell script formájában?

(#1513) Jester01 válasza Intruder2k5 (#1512) üzenetére


Jester01
veterán

Ha csak be kell jelentkezni akkor gondolom egyetlen "jól irányzott" http kérés curl vagy wget segítségével és kész.

Jester

(#1514) Intruder2k5 válasza Jester01 (#1513) üzenetére


Intruder2k5
MODERÁTOR

Igen, csak be kell lépni, semmi célzott klikkelés, vagy egyéb művelet nem szükséges, és én is valami hasonlóra gondolok, csak nyilván azért írtam ide, mert magamban ehhez kevés vagyok, annyira nem értek hozzá, hogy megírjam a scriptet... A probléma tehát a kivitelezéssel van, nem az elvvel!

[ Szerkesztve ]

(#1515) SteveBeard válasza Intruder2k5 (#1514) üzenetére


SteveBeard
senior tag

Szia!

Kicsit keresgéltem ez ügyben. ;)

Ezt találtam, nekem úgy tűnik működik a Vargalex féle Openwrt alatt.
Legalábbis a script futtatása után ezt a választ kapom:
...
+ echo Login successful
Login successful
+ exit 0

Csak a curl-t kellett telepíteni hozzá.

És a script:

#!/bin/sh

#DEBUG=1

LOGIN="****"
PASSWORD="****"

COOKIES="/tmp/.dynsdns.cookies.txt"
AL="en-gb"
#UA="Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/0.0.0 (KHTML, like Gecko) Version/0.0.0 Safari/0.0.0"

LOGINURL="https://account.dyn.com/entrance/"
POSTURL="$LOGINURL"
CHKURL="https://account.dyn.com/"

(( $DEBUG )) && DST="-" || DST="/dev/null"

[[ -w "$( dirname "$COOKIES" )" ]] || { echo >&2 "FATAL: Cannot write to directory '$( dirname "$COOKIES" )'" ; exit 1; }

# Ensure no broken session caching...
if [[ -s "$COOKIES" ]]; then
[[ -w "$COOKIES" ]] || { echo >&2 "FATAL: Cannot write to file '$COOKIES'" ; exit 1 ; }
rm -f "$COOKIES" >/dev/null 2>&1
fi

(( $DEBUG )) && echo >&2 "DEBUG: Fetching initial headers to pre-load cookies..."
curl -b $COOKIES -c $COOKIES -Ikso "$DST" -A "$UA" --url "$LOGINURL"

(( $DEBUG )) && echo >&2 "DEBUG: Fetching UID..."
VALUE="$(
curl -b $COOKIES -c $COOKIES -kso - -A "$UA" --url "$LOGINURL" | \
grep -m 1 "multiform" | \
cut -d"'" -f 6
)"

(( $DEBUG )) && echo >&2 "DEBUG: Read UID as '$VALUE' - posting data..."
curl -b $COOKIES -c $COOKIES -d "username=$LOGIN" -d "password=$PASSWORD" -d "iov_id" -d "multiform=$VALUE" -e "$LOGINURL" -kso "$DST" -A "$UA" --url "$POSTURL"

(( $DEBUG )) && echo >&2 "DEBUG: Response received - verifying result..."
curl -b $COOKIES -c $COOKIES -e "$POSTURL" -kso - -A "$UA" -H "Accept-Language: $AL" --url "$CHKURL" | \
grep -qE "<span>(Welcome|Hi)&nbsp;<b>$LOGIN</b></span>" \
&& echo "Login successful" \
|| { echo >&2 "Login failed" ; exit 1 ; }

exit 0

Forrás:[link]

Steve

(#1516) Intruder2k5 válasza SteveBeard (#1515) üzenetére


Intruder2k5
MODERÁTOR

Szia!

Köszönöm szépen, de úgy néz ki, hogy nekem ez sajnos nem megy! Biztosan valami optware cucc nem tetszik neki, vagy lövésem sincs, de ezt kapom...

root@INT-ROUTER:/jffs# dyndns-login.sh
DEBUG: Fetching initial headers to pre-load cookies...
HTTP/1.1 200 OK
Date: Sun, 23 Jun 2013 09:47:04 GMT
Server: Apache
Cache-control: no-cache
Content-Type: text/html; charset=ISO-8859-1
Expires: Sun, 23 Jun 2013 09:47:04 GMT
Set-Cookie: id=U0NDYPmJpVQ4MLIlf16gvYU; domain=account.dyn.com; path=/; expires=Sat, 21-Sep-2013 09:47:04 GMT
Accept-Ranges: none
Vary: Accept-Encoding

DEBUG: Fetching UID...
DEBUG: Read UID as 'C75BD9BB1FB04F59E6154EB0ED2FF8' - posting data...
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>302 Found</TITLE>
</HEAD><BODY>
<H1>Found</H1>
The document has moved <A HREF="https://account.dyn.com/">here</A>.<P>
</BODY></HTML>
DEBUG: Response received - verifying result...
Login failed
root@INT-ROUTER:/jffs#

Van curl-em, több is, próbáltam cserélni is azokat elérési út megadásával, de egyikkel sem megy!

[ Szerkesztve ]

(#1517) SteveBeard válasza Intruder2k5 (#1516) üzenetére


SteveBeard
senior tag

Írd be a #!/bin/sh után a következő sorba set -x ,majd futtasd le újra!
Én innen derítettem ki, hogy nem ismeri fel curl parancsot.
Talán Nálad is kiderül, hogy mi nem tetszik neki...

Steve

(#1518) Intruder2k5 válasza SteveBeard (#1517) üzenetére


Intruder2k5
MODERÁTOR

Á, köszönöm szépen, de közben próbálkoztam még én is, és arra jutottam, hogy valami a jelszóban nem tetszik neki (van sok spec karakter benne), mert egy másik accounttal, ahol lényegesen egyszerűbb a pass, simán bemegy! Szóval ez innen már menni fog, gondolom csak ki kell cserélnem a jelszót!

Én is keresgéltem már ezelőtt, találtam is ezt-azt, de egyik script sem működött! Mondjuk ezt eddig még nem próbáltam, de ilyen elgondolással akkor az is lehet, hogy eddig is volt már olyan, ahol csak a jelszó miatt nem ment! Minden esetre köszönöm szépen a segítséget! :)

Reméljük ez meg is oldja ezt a problémát! :)

(#1519) SteveBeard válasza Intruder2k5 (#1518) üzenetére


SteveBeard
senior tag

Ha megnézed az eredeti oldalt, ott a 22. hsz környékén írnak arról, hogy a speciális karakterekkel gond lehet...

Reméljük ez meg is oldja ezt a problémát!

Addig, míg ki nem találnak valami speciális beléptetési módszert...

[ Szerkesztve ]

Steve

(#1520) rt06 válasza Intruder2k5 (#1518) üzenetére


rt06
veterán

vagy escape-eld a jelszot
pl nem PASSWORD="a&b$c'd", hanem PASSWORD="a\&b\$c\'d"

Politikailag korrekt, valamint munkahely- és gyermekbarát aláírás, amiben egyáltalán nincsen p*na.

(#1521) bambano válasza rt06 (#1520) üzenetére


bambano
titán
LOGOUT blog

én ilyenkor hajlamosabb vagyok falusias megoldásra: jelszócsere egyszerűbbre.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#1522) Intruder2k5


Intruder2k5
MODERÁTOR

Pfff.... Na, még jó, hogy van három accom, volt min tesztelni, különben erre az életbe nem jövök rá! Nem a jelszó volt a hunyó, hanem a név! Ugyebár én anno regeltem, mondjuk Username néven! A router admin felületén ez van beállítva a DDNS-ben, és működik is, illetőleg ezzel szoktam belépni is az oldalra! Na ez script viszont csak kisbetűvel fogadja el, tehát username! Szóval nem is a jelszó spec karakter volt a gond! :)

(#1523) SteveBeard válasza Intruder2k5 (#1522) üzenetére


SteveBeard
senior tag

:DD

Ez kipipálva! ;)

Mehet a "script turkálóba"

Steve

(#1524) Intruder2k5 válasza SteveBeard (#1523) üzenetére


Intruder2k5
MODERÁTOR

Hát hajrá! Úgyis Te lelted meg! :)

De ez tényleg hasznos! Remélem ez ellen nem találnak ki semmit...

[ Szerkesztve ]

(#1525) prucam


prucam
tag

Sziasztok,

van egy *.csv file amit szeretnék Gnumericbe importálni, valamiért nem igazán tud megbirkózni vele. Arra gondoltam egy scriptel kicsit meg kellene rövidíteni a tizedesjegyű-számokat talán sikerül.

Itt egy sor a file-ből:
"abc",4,344,2.3300000000000000,0.10174418575074364607,0.04651162777176852392,0.00961538452292899497,0.32051281640368184098,0.42857141836734718173,0.28571427891156478782,0.66666661111111574074,0.99999987500001562500,0.49999987500003124999,0.99999900000099999900,0.49999975000012499994,0.000000000000,0.000000000000,0.49999975000012499994,0.000000000000,0.000000000000,0.00000000000000000000,0.00000000000000000000,0.00000000000000000000,0.99999900000099999900,0.00000000000000000000,0.00000000000000000000,0.000000000000,0.000000000000,0.000000000000
Egyszerűen:szám,szám,szám stb.....
Minden számot két tizedesjegyűre kellene rövidíteni.
pl.:
2.3300000000000000, ezt erre 2.33, Segítene valaki?

Előre is köszi!

(#1526) bambano válasza prucam (#1525) üzenetére


bambano
titán
LOGOUT blog

text file-ként importálva, extra menüben minden oszlopnak meg lehet adni, hogy milyen típusú adat van benne.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#1527) prucam válasza bambano (#1526) üzenetére


prucam
tag

Igazából nincs olyan a Gnumericbe (nekem ez a verzió van 1.10.13), hogy "importálás"; csak megynyítás. Fent látható az eredmény, elég sok formázást kipróbáltam, de nem tudtam rájönni, hogy melyik a jó. Azért gondoltam a számok rövidítésére, hátha az jobban tetszik neki...

(#1528) bambano válasza prucam (#1527) üzenetére


bambano
titán
LOGOUT blog

ja, látom már, neked nem az a problémád, hogy hosszú a szám, hanem az, hogy a gnumeric nem veszi észre, hogy tizedespontot használtál tizedesvesszőnek. A tizedespontot a magyar nyelv szabályai szerint ezres elválasztónak tekinti.
próbáld meg ideiglenesen angolra átállítani a linuxodat és úgy importálni. vagy próbáld meg libreoffice-vel az importot.

[ Szerkesztve ]

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#1529) prucam válasza bambano (#1528) üzenetére


prucam
tag

Átállítottam angolra, s így sikerült.

Köszönöm :C

(#1530) Speeedfire


Speeedfire
nagyúr

Vizsgálom egy scriptben, hogy fut-e már az adott script a ps aux paranccsal nézem.

Érdekes mód, 2x szerepel a listában. Ha több magos a gép, akkor többször szerepel benne? Illetve van más megoldás, hogy magonként nézzem?

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#1531) MacCaine válasza Speeedfire (#1530) üzenetére


MacCaine
őstag

A második szerintem a grep.

(#1532) Speeedfire válasza MacCaine (#1531) üzenetére


Speeedfire
nagyúr

Nem, mert nyomok utána egy grep -v grep-et.

ps aux | grep valami.sh | grep -v grep | wc -l

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#1533) MacCaine válasza Speeedfire (#1532) üzenetére


MacCaine
őstag

És mi a kimenet (a wc nélkül)?

(#1534) Speeedfire válasza MacCaine (#1533) üzenetére


Speeedfire
nagyúr

2db sor, grep nélkül.

speeedfire 30382 0.0 0.0 63892 1104 pts/2 S+ 16:14 0:00 sh valami.sh
speeedfire 30393 0.0 0.0 63892 476 pts/2 S+ 16:14 0:00 sh valami.sh

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#1535) Jester01 válasza Speeedfire (#1534) üzenetére


Jester01
veterán

Minden bizonnyal van aktív subshell is, például átirányítás miatt.

Jester

(#1536) Speeedfire válasza Jester01 (#1535) üzenetére


Speeedfire
nagyúr

Az lehet gond?
Magában a scriptben meghívok még olyan 4-5 másikat is.

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#1537) Siriusb válasza Speeedfire (#1536) üzenetére


Siriusb
veterán

pstree-vel nézd meg.

(#1538) SteveBeard


SteveBeard
senior tag

Sziasztok!

iptables -L traffic -vnxZ -t filter > /opt/www_traff/traffic.tmp

Ha az eredményt nem csak egy fájlba szeretném beíratni, hanem többe is, azt hogy tudnám megtenni?

Steve

(#1539) MacCaine válasza SteveBeard (#1538) üzenetére


MacCaine
őstag

man tee

(#1540) SteveBeard válasza MacCaine (#1539) üzenetére


SteveBeard
senior tag

:R

Steve

(#1541) Speeedfire


Speeedfire
nagyúr

Adott egy solaris 10 server, amin a következő scriptet szeretném lefuttatni. [link]

Viszont nálam hibára fut, az első soron. Mi lehet vele a gond?

set_env: PATH: cannot unset

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#1542) bambano válasza Speeedfire (#1541) üzenetére


bambano
titán
LOGOUT blog

csak a lényeg maradt le róla, hogy mivel szeretnéd futtatni.

egyébként a PATH-ot felesleges unset-elni, (szerintem a többit is), ha új értéket adsz neki, felülírja.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#1543) Speeedfire válasza bambano (#1542) üzenetére


Speeedfire
nagyúr

Egy shell scriptben hívom meg ./script.sh néven solaris 10 alatt.

De ha nem kell unsetelni, akkor nem foglalkozok vele. :R

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#1544) bambano válasza Speeedfire (#1543) üzenetére


bambano
titán
LOGOUT blog

az rendben van, de a scriptek első sorába tett speciális formátumú megjegyzésben meg lehet mondani, hogy milyen shell futtassa.

ez linuxon nem annyira fájó kérdés, mert erősen dívik a bashizmus, és a leváltására faragott dash eléggé hasonló. szóval ha ott lemarad, hát lemarad.

viszont solarison, ahol az alap shell az eredeti bourne shell, és nagyon gyakran használnak csh-t is, aminek a szintaktikája totálisan más, ott shell megjelölés nélküli szkriptet írni igen bátor cselekedet. nekem pl.solarison mindig ksh volt a default shellem, az is másképp csinált pár dolgot.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#1545) Speeedfire válasza bambano (#1544) üzenetére


Speeedfire
nagyúr

Nincs az elején definiálva, ha jól sejtem itt is ksh a default. :B

Ami szintén érdekes, mert hiába írtam az egyik script elejére, hogy bin/bash nem érdekelte a solarist. Lefuttatta másikkal. Csak úgy tudtam lefuttatni bash-ként, hogy bash valami.sh.

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#1546) SteveBeard


SteveBeard
senior tag

Sziasztok!

Ezzel a paranccsal jelenítek meg képeket:

for MAC in $(cat /opt/mac.txt | awk '{print $1}') ; do
MAC_=$(echo $MAC | sed 's/:/-/g')
echo "<img src='/${IMAGEDIR}/${MAC_}_${STATDATE}.png'>"
done

Ha nem készült kép a /opt/mac.txt fájlból kiolvasott mac címhez az adott napon, akkor csak egy kis kockát jelenít meg, amitől nagyon csúnya lesz az egész.

Próbáltam megoldani, ha nem talál képet, akkor ne is akarja megjeleníteni, de sajnos nem sikerült.
Előre is köszi, ha valaki segít!

Steve

(#1547) bambano válasza SteveBeard (#1546) üzenetére


bambano
titán
LOGOUT blog

egy változóba össze kellene rakni a kép nevét, utána:

[ -f $kepneve ] && echo "<img src ...."
[ -f $kepneve ] || echo ures kepre mutato link vagy semmi.

a forkbombának továbbra sem örülünk :) ezt az egész for ciklust jelenlegi állapotában egy darab sed-del helyettesíteni lehet szerintem.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#1548) SteveBeard válasza bambano (#1547) üzenetére


SteveBeard
senior tag

:R
Köszönöm a segítséget, jó lett.
A "bombáért" meg sorry, de nem tudom megoldani, pedig hidd el szabadidőmben tanulgatom, de nincs sok időm.
Próbálom megoldani egyedül, de ez már elég nagy falat nekem. Azért hozzáteszem, ezen a nyáron nagyon jól működött az egész, még ha nem is felel meg az előírásoknak. ;)

És lásd, hogy nem csak a sült galambot várom, itt van, ahogy én próbáltam megoldani.
Meg hogy tanuljak is a hibámból, miért nem működött ez nekem? Vagyis egy képpel jó volt, de több kép esetén, ha talált egy hiányzót, akkor az utána következőket, amik pedig ott voltak, sem jelenítette meg.

if [ ! -r $kepneve]; then
echo ures kepre mutato link vagy semmi.
return
fi
echo "<img src=..."

Steve

(#1549) bambano válasza SteveBeard (#1548) üzenetére


bambano
titán
LOGOUT blog

a cat filenev | awk szerkezetek nem szerencsések, helyette awk '....' filenev javasolt.

első ránézésre azért nem működött, mert vagy van kép, vagy nincs, ezért amikor van, azt else ágba kellett volna rakni, nem a feltételes utasításon kívülre. tehát:

if [ -r $kepneve ] ; then
echo azt, amikor van kép
else
echo azt, amikor nincs kép
fi

ha nincs kép, és nem is akarsz kirakni helyette valami default hibajelző képet, akkor az else meg a második echo elmaradhat.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#1550) bambano válasza SteveBeard (#1546) üzenetére


bambano
titán
LOGOUT blog

ezt valahogy úgy is lehetne, de csak fejből írva teszt nélkül, hogy:

sed -e 's/\([^ ]*\) \(.*$\)/\1/' -e 's/:/-/g' \
-e "s,.*,<img src='/${IMAGEDIR}/&_${STATDATE}.png'>," /opt/mac.txt

ez viszont nem fogja megnézni, hogy van-e kép vagy nincs.

[ Szerkesztve ]

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

Copyright © 2000-2024 PROHARDVER Informatikai Kft.