Hirdetés

2019. március 23., szombat

Gyorskeresés

Hozzászólások

(#1801) colomb2 válasza Jester01 (#1800) üzenetére


colomb2
(PH! kedvence)

Köszönöm. :R

[ Szerkesztve ]

Vigyázat, csalok!

(#1802) Sleed


Sleed
(fanatikus tag)

sziasztok,

olyat hogy tudok csinálni, hogy egy adott .txt fájlból egy előre megadott helyen lévő karaktersorozatot egy "változóba teszek"? pl. egy logfájl harmadik sorában egy hőmérsékletet adatot tárolok, ezt szeretném egy változóba elmenteni, hogy aztán feltölthessem egy mysql adatbázisba.

köszönöm előre is

(#1803) bambano válasza Sleed (#1802) üzenetére


bambano
(Jómunkásember)

egyik verzió, hogy berakod változóba, majd a változóból csinálsz sql utasítást, valahogy így:

adat=$(grep valami logfile | cut -d.. -f ..)

a másik lehetőség, hogy nem bonyolítod el a változózást, hanem a logfájlt közvetlenül sql insert utasításra alakítod és betolod mysql-be.

ha bemásolsz konkrét logrészletet, gyorsabb lesz a válasz.

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#1804) Sleed válasza bambano (#1803) üzenetére


Sleed
(fanatikus tag)

köszönöm szépen, ez alapján már meg tudtam csinálni :)

(#1805) Nefri


Nefri
(újonc)

Sziasztok!

Van egy parancsom, amivel IP cím listákat tudok létrehozni, amikre aztán mindenféle vizsgálatokat fogok ráereszteni openVas-al. A kód így néz ki:

omp -u user -w openvas -X "<create_target><name>Tesztgep_356_Default</name><hosts>195.111.2.16, 10.1.2.247, 193.225.87.18</hosts></create_target>"

Viszont nekem úgy kéne megoldanom, hogy az IP címeket automatikusan olvassa be egy txt-ből, ami soronként mindig az éppen vizsgálni kívánt gépek címeit tartalmazza. Gondolom első lépésként be kéne olvasni a sorokat és vesszővel elválasztva összefűzni egy változóban, ez még talán menne. Viszont teljesen tanácstalan vagyok, hogy ezt követően a létrejövő változót, miként lehetne betolni az XML kódba, hogy az valóban változóként tudjon működni.

Hálásan köszönök, minden ötletet és javaslatot!

[ Szerkesztve ]

(#1806) bambano válasza Nefri (#1805) üzenetére


bambano
(Jómunkásember)

mérsékelten szép megoldás:

-X "<create_target><name>Tesztgep_356_Default</name><hosts>$(cat ipcimek.txt | tr '\n' ',' | sed -e 's/.$//')</hosts></create_target>"

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#1807) Nefri válasza bambano (#1806) üzenetére


Nefri
(újonc)

Huhh ez gyors volt és még működik is, nagyon szépen köszönöm!

(#1808) Nefri


Nefri
(újonc)

Azt meg lehet oldani, hogy egy XML kód belsejébe vigyünk be egy shell scriptes változót? Pl:
valtozo="1234"
-X '<delete_target target_id="idekenebetolni"/>'

Köszönöm szépen az útmutatást!

(#1809) Nefri válasza Nefri (#1808) üzenetére


Nefri
(újonc)

Jól van sikerült rájönnöm, hogy simán csak ,\"\" -t kell alkalmazni, nem gondoltam, hogy ilyen egyszerű. Valamiért '-jelet használtam " helyett és így nem akart működni a változóval, pedig ha simán csak kitöltöttem a számokkal úgy meg működött.

(#1810) Speeedfire


Speeedfire
(PH! nagyúr)
LOGOUT blog

SunOS alatt szeretném ezt lefuttatni, de mindig hibát dob rá. Debian alatt próbáltam ott jó volt.

awk 'FNR==NR{a[$0];next}!($0 in a)' a.tmp b.tmp
awk: syntax error near line 1
awk: bailing out near line 1

Próbáltam, hogy beillesztem egy fájlba és megadom a fejben, hogy bash-al futtassa le, de ugyan az lett a vége.

Fotóim https://www.flickr.com/photos/speeedfire85/ || IG: http://instagram.com/toth.szabi.85 || Weblapom http://tothszabi.info || Linkkatalógusom http://weblapkeszites.ro

(#1811) Jester01 válasza Speeedfire (#1810) üzenetére


Jester01
(PH! kedvence)

Gondolom az awk nem kompatibilis. Nézd meg, van-e gawk mert debianon általában az van.

Jester

(#1812) Speeedfire válasza Jester01 (#1811) üzenetére


Speeedfire
(PH! nagyúr)
LOGOUT blog

Gawk nem volt, de nawk-val tökéletesen lefutott. :R

Fotóim https://www.flickr.com/photos/speeedfire85/ || IG: http://instagram.com/toth.szabi.85 || Weblapom http://tothszabi.info || Linkkatalógusom http://weblapkeszites.ro

(#1813) bambano válasza Jester01 (#1811) üzenetére


bambano
(Jómunkásember)

ugye mawk-ot akartál írni...

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#1814) Jester01 válasza bambano (#1813) üzenetére


Jester01
(PH! kedvence)

Akarhattam is volna, csak az én gépemen valamiért gawk a default (biztos átállítottam és már elfelejtettem). :R

Jester

(#1815) BoB


BoB
(PH! kedvence)

Kozmetika.

Adott ez a script részlet:
PASS=$(grub-mkpasswd-pbkdf2 | tee /dev/tty)

(grub-mkpasswd-pbkdf2 hash-t fog készíteni string-ből. Ezt nekünk kell beírni amit 2-szer kérdez mert jelszó hash.)

Amit látni tty-n:

Enter password:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.1FC4486CE29F945AA1C032BACE1AA7FB7B247AF2AC7C10B34F30F9BE7820D14100244288FE6E3164AD4F6E967AA1E4281D499C1945ABF58D7329789F45EEE074.DCB391F0C8A50806ACD9F137F3C7A880D1C9586590F55F91B300B72AD698B08DE38941195372559920B7CEEDEA5779FE333CA06A7D67FA01B3568D6BF02944B1

Az első két sorra szükség van, viszont a harmadik - maga a hash - elrejhető valahogy tty-ről?

[ Szerkesztve ]

You may corrupt the souls of men, but I am steel. I am doom.

(#1816) bambano válasza BoB (#1815) üzenetére


bambano
(Jómunkásember)

szerintem csak akkor, ha stty-nal kikapcsolod a local echo-t.

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#1817) BoB válasza bambano (#1816) üzenetére


BoB
(PH! kedvence)

Ez nem jó, csak a keyboard input-ra vonatkozik, azzal meg nincs gond.

You may corrupt the souls of men, but I am steel. I am doom.

(#1818) bambano válasza BoB (#1817) üzenetére


bambano
(Jómunkásember)

és ha nem tee-vel tolnád a /dev/tty-ba, hanem átirányítással?

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#1819) Jester01


Jester01
(PH! kedvence)

Kerülőúton meg lehet azt tenni, hogy a jelszó bekérést a script csinálja és aztán odaadja a grub-mkpasswd-pbkdf2-nek aminek ekkor már semmi kimenete nem kell a terminálra.

read -sp "Enter password: " pass1
echo
read -sp "Reenter password: " pass2
echo
if [ "$pass1" != "$pass2" ]
then
echo "Password mismatch"
exit 1
fi
PASS=$(printf "%s\n%s\n" "$pass1" "$pass2" | grub-mkpasswd-pbkdf2)

[ Szerkesztve ]

Jester

(#1820) BoB válasza Jester01 (#1819) üzenetére


BoB
(PH! kedvence)

Én is erre gondoltam mint végső megoldás. Kicsit hosszabb, de jó lesz így is.

Köszönöm a segítséget!

You may corrupt the souls of men, but I am steel. I am doom.

(#1821) Nefri


Nefri
(újonc)

Sziasztok!

Miként lehet megoldani, hogy az összes könyvtárban keressen egy bizonyos fájlt? Úgy vettem észre, hogy mindig csak az aktuális tartózkodásihelytől fölfelé hajtja végre a kereséseket pl a cat */keresettfájl.txt parancsra.

[ Szerkesztve ]

(#1822) bambano válasza Nefri (#1821) üzenetére


bambano
(Jómunkásember)

find-dal

[ Szerkesztve ]

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#1824) Speeedfire válasza Speeedfire (#1810) üzenetére


Speeedfire
(PH! nagyúr)
LOGOUT blog

Ugyan ezzel lenne megint egy kis problémám.
Ha az első file üres, akkor a kimenetben nincs benne a teljes lista. Ezt, hogy lehetne orvosolni? Rakjak egy feltételt elé, ami megnézi a sorok számát? :U

Fotóim https://www.flickr.com/photos/speeedfire85/ || IG: http://instagram.com/toth.szabi.85 || Weblapom http://tothszabi.info || Linkkatalógusom http://weblapkeszites.ro

(#1826) bambano


bambano
(Jómunkásember)

Erre nem kaptam a másik topicban jó ötletet, esetleg tőletek?

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#1827) McSzaby


McSzaby
(őstag)

Sziasztok,

szeretnék segítséget csinálni egy visszaszámlálóhoz.

Azt szeretném, hogy a script a következőt csinálja:
- kiad egy parancsot.
- sleepel 15 percig közben 00:15:00 (->00:14:59..) formában elkezd visszafele számlálni, majd amikor elér a nullához kiad egy másik meghatározott parancsot. Ehhez a "visszaszámlálóhoz" tudtok segítséget nyújtani?

#ThankYouSirAlex #ThankYouLouis

(#1828) bambano válasza McSzaby (#1827) üzenetére


bambano
(Jómunkásember)

hevenyészet megoldás:

parancs
for i in $(seq 15 -1 0); do
for j in $(seq 59 -1 0); do
echo $i:$j
sleep 1
done
done
masikparancs

ha

echo -ne $i:$j '\r'

írsz, akkor helyben számol.

szerk: majd mindjárt jön Jester és kijavítja a $(seq 15 -1 0)-t {15..0}-ra :)

[ Szerkesztve ]

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#1829) Jester01 válasza bambano (#1828) üzenetére


Jester01
(PH! kedvence)

Nem, inkább valami rendes ciklusra. Ezek ugyanis elvileg először legyártják az egész listát és utána mennek végig rajta. Ilyen 16 meg 60 elemű listánál persze mindegy.

A másik amibe sokkal inkább bele lehet kötni, hogy 15:59-től számol vissza nem 15:00-tól :N

mins=15
secs=0
while [[ $mins -ge 0 ]]
do
printf "00:%02d:%02d\n" $mins $secs
sleep 1
secs=$((secs - 1))
if [[ $secs -lt 0 ]]
then
secs=59
mins=$((mins - 1))
fi
done

Jester

(#1830) McSzaby válasza Jester01 (#1829) üzenetére


McSzaby
(őstag)

Szia,

köszönöm a segítségeteket! :)

Jester01 megoldását (aahoz hasonlót) meg is találtam a neten, azt használtam fel! :) Nagyon rendesek vagytok, örök hálám! :R

#ThankYouSirAlex #ThankYouLouis

(#1831) SteveBeard


SteveBeard
(senior tag)

Sziasztok!

Találtam egy scriptet amiben van egy változó:
NEWEST_FILE=$(ls -ltr | tail -1 | awk '{print $9}')

Már csak annyit kéne hozzá tenni, hogy a kapott fájlt átnevezzem mondjuk camera1.jpg-re.
Tudnátok benne segíteni?
Előre is köszi!

Steve

(#1832) bambano válasza SteveBeard (#1831) üzenetére


bambano
(Jómunkásember)

mv paranccsal lehet átnevezni
az ls tud -c paramétert is, akkor nem kell az awk a végére.

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#1833) colomb2 válasza bambano (#1832) üzenetére


colomb2
(PH! kedvence)

Tömbökkel szeretnék foglalkozni, úgy hogy egy ciklusban hívom meg őket, for ciklus változója fogja tartalmazni a tömb nevét. A problémám az hogy hogyan tudnám ezt a változót használni tömbök kezeléséhez. Itt egy egyszerű példa mit szeretnék:

array=("2" "2" "2" "2" "2" "2" "2")
feld=("1" "1" "1" "1" "1" "1" "1")
tomb=("0" "0" "0" "0" "0" "0" "0")

for var in $(cat file)
do
for ((i=0;i<7;i++))
do
printf "%d " ${$var[$i]}
done
printf "\n"
done

file tartalma a példában ez lenne:
array
feld
tomb

Vigyázat, csalok!

(#1834) dabadab válasza colomb2 (#1833) üzenetére


dabadab
(Jómunkásember)

printf "%d " ${$var[$i]}

->

eval "echo \${$var[$i]}"

illetve persze csinalhatod printf-fel is, ha azt szeretned, a lenyeg az eval meg a backslash, hogy azt meg ne akarja kierteklni az eval.
A $i ele is tehetsz \-t, de az vegulis mindegy, csak azt donti el, hogy az eval vagy az echo kiertekelesekor rakja be helyette a konkret szamot a shell.

[ Szerkesztve ]

DRM is theft

(#1835) bambano válasza colomb2 (#1833) üzenetére


bambano
(Jómunkásember)

pontosan hogyan indítod ezt a scriptet?

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#1836) colomb2 válasza dabadab (#1834) üzenetére


colomb2
(PH! kedvence)

eval továbbgondolva és működik is ahogy szeretném. :R

Vigyázat, csalok!

(#1837) Keeperv85


Keeperv85
(PH! nagyúr)

Sziasztok!

Olyan problémám volna, hogy szeretnék egy Windows alól portolt programot futtatni, ami működne is remekül, de több EZER könyvtárat használ... na, ha nem mindet NAGYBETŰSRE formázták volna át még ott... Szóval én magát az alkalmazást megcsináltam már, elindul, csak éppen az erőforrásait nem találja. Ezért szeretnék egy olyan scriptet írni, ami rekurzív módon végig megy a főkönyvtárból kiindulva és az összes fájlt és könyvtárat is átnevezi minden betűjében kisbetűsre. Tehát az sem jó, hogy ha csak a kezdőbetű nagy, mindent kisbetűvel kell. (Pont az a része zárt a szoftvernek, ami ezt a beolvasást valósítja meg, azt nem piszkálhatom... :W).

Kérlek ne írjátok, hogy Total Commander... mert nincs Windows. Nem véletlen kell a szoftvert is átportolni...! :U

(#1838) emvy válasza Keeperv85 (#1837) üzenetére


emvy
(PH! nagyúr)

Ha visszaerek futasbol, leirom, de eleg trivialisnak tunik..

while (!sleep) sheep++;

(#1839) Keeperv85 válasza emvy (#1838) üzenetére


Keeperv85
(PH! nagyúr)

Bizonyára nem bonyolult, de mondhatni nem értek a scriptekhez, így nekem több napba telne összeszedni valahonnan a legegyszerűbb megoldás is... :B

(#1840) bambano válasza Keeperv85 (#1839) üzenetére


bambano
(Jómunkásember)

gugli a barátod.
massrename vagy bulk rename keresőkifejezéssel.

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#1841) emvy válasza emvy (#1838) üzenetére


emvy
(PH! nagyúr)

Na, gyorsan: ahogy bambano kartars is javasolta, a guglinal jobb megoldas nincs ...

[link]

[ Szerkesztve ]

while (!sleep) sheep++;

(#1842) Keeperv85 válasza bambano (#1840) üzenetére


Keeperv85
(PH! nagyúr)

Remek... Főleg fényében annak, hogy feljebb írtam, hogy NINCS Windows. Köszi, hogy ajánlasz egy megoldást, ami kizárólag Windows alatt működik, ahol van vagy 30 másik is... Hidd el: a Google nem fog nekem segíteni, mivel ha pl. beírod, hogy "recursive directory rename script", akkor ugyan megtalálom azt a pár alapvető dolgot, amit használnak, de a reguláris kifejezések ismeretének hiányában akkor sem tudom összerakni a scriptet... :W

@emvy:

Köszi, ez már jobban fest, mint amit én találtam... :R

[ Szerkesztve ]

(#1843) emvy válasza Keeperv85 (#1842) üzenetére


emvy
(PH! nagyúr)

"linux batch rename lowercase"

elso talalat az, amit irtam

while (!sleep) sheep++;

(#1844) PistiSan


PistiSan
(PH! addikt)

Sziasztok!
Bash-ban nem vagyok nagyon otthon, pár egyszerű backup scriptet írtam már, de amit most szeretnék az nem sikerült sehogy sem.

Rögzítek egy rádió műsort simán a wget paranccsal, van hogy meg szakad az adás (ritkán), ilyenkor leáll a rögzítés, és a script tovább fut.

Amit szeretnék:
Megadom egy válozóban hány percet rögzítsen, egy cíklus indulna el, ami ellenőrzi hogy fut e a wget, ha fut akkor 1 perc múlva újra lefut a ciklusmag, ha nem fut akkor újra indul a wget a megadott paraméterekkel, miután végzett a kill vagy akármilyen paranccsal megszakítja a wget működését.

Nagyjából sejtem miket kell hasznáni, de egyszerűen nem sikerül.
Nem szeretném a többi wget-et sem kilőni, csak azt ami illeszkedik a mintára, tehát a killall wget nem használható.

A folyamatok közül ki tudtam listázni az adott wget paramétert
ps -aux | grep 'wget http://109.*'

Nem szeretném bemásolni azt az állatságot amit eddig műveltem, remélem lesz aki tud segíten. :R

OnePlus 3, LineageOS 16. Az emberek 66 százaléka nem tud számolni! Gondoljatok bele, ez majdnem a fele!!

(#1845) bambano válasza PistiSan (#1844) üzenetére


bambano
(Jómunkásember)

majdnem ugyanezen problémára én ezt írtam:

dd if=/dev/video$videodev of=$dir/$filename.tmp &
PID="$!"
sleep $3
kill -9 $PID

ebből ki lehet puskázni, hogy háttérbe teszed a wget-et (itt dd van, ehelyett kell wget), akkor a processz azonosítóját megkapod, azt kell kigyilkolni.

lezso6 szerint a user: rossz számtech karmája van | @netik: There is no Internet of Things. There are only many unpatched, vulnerable small computers on the Internet.

(#1846) PistiSan válasza bambano (#1845) üzenetére


PistiSan
(PH! addikt)

Köszi, sikerült megoldani ez alapján.

OnePlus 3, LineageOS 16. Az emberek 66 százaléka nem tud számolni! Gondoljatok bele, ez majdnem a fele!!

(#1847) PistiSan válasza PistiSan (#1846) üzenetére


PistiSan
(PH! addikt)

Csak nem lesz ilyen egyszerű a dolog!
A grep paranccsal vissza kapok 1 sort, ahol 2 PID látható, az egyik a script ami meghívja a wget parancsot, a másik szerintem a wget parancs, ha ezt killel kilövöm a scriptben, akkor a teljes script leáll tőle!
A greppel lehet valahogy még szűkíteni esetleg a 2 PID között?

OnePlus 3, LineageOS 16. Az emberek 66 százaléka nem tud számolni! Gondoljatok bele, ez majdnem a fele!!

(#1848) emvy válasza PistiSan (#1847) üzenetére


emvy
(PH! nagyúr)

Illeszd be a pipeline-ba a 'grep -v grep' -et, az ki fogja szurni sajat magat.

while (!sleep) sheep++;

(#1849) PistiSan válasza emvy (#1848) üzenetére


PistiSan
(PH! addikt)

Az már meg volt, az így kapott listával van a bajom.
Ennyit kapok vissza, ami jó!

root 20848 11176 0 18:27 pts/2 00:00:00 wget http://1.1.1.1/live.mp3 -q

A root után van 2 szám, az egyik a wget-hez, a másik a bash-hoz tartozik, nyilván úgy kellene nekem a végső kimenet hogy a fenti sorban csak az a PID maradjon ott, ami a wget-hez tartozik, mert így a bash-t is bezárom :)

OnePlus 3, LineageOS 16. Az emberek 66 százaléka nem tud számolni! Gondoljatok bele, ez majdnem a fele!!

(#1850) Jester01 válasza PistiSan (#1849) üzenetére


Jester01
(PH! kedvence)

Nem véletlenül mutatta ám bambano a $! használatát, az direktben megadja neked a pid-et, nem kell greppelni.

Jester

Copyright © 2000-2019 PROHARDVER Informatikai Kft.