Új hozzászólás Aktív témák
-
Sleed
aktív 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
-
bambano
titán
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.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
Nefri
csendes tag
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 ]
-
Nefri
csendes tag
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!
-
-
Speeedfire
félisten
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 1Pró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://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
Jester01
veterán
válasz Speeedfire #1810 üzenetére
Gondolom az awk nem kompatibilis. Nézd meg, van-e gawk mert debianon általában az van.
Jester
-
BoB
veterán
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.DCB391F0C8A50806ACD9F137F3C7A880D1C9586590F55F91B300B72AD698B08DE38941195372559920B7CEEDEA5779FE333CA06A7D67FA01B3568D6BF02944B1Az 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.
-
Jester01
veterán
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
-
Nefri
csendes tag
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 ]
-
Speeedfire
félisten
válasz Speeedfire #1810 üzenetére
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?Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com
-
bambano
titán
Erre nem kaptam a másik topicban jó ötletet, esetleg tőletek?
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
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
-
bambano
titán
válasz McSzaby #1827 üzenetére
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
masikparancsha
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 ]
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
Jester01
veterán
válasz bambano #1828 üzenetére
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
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
doneJester
-
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
-
bambano
titán
válasz SteveBeard #1831 üzenetére
mv paranccsal lehet átnevezni
az ls tud -c paramétert is, akkor nem kell az awk a végére.Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
Rimuru
veterán
válasz bambano #1832 üzenetére
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
tombVigyázat, csalok!
-
dabadab
titán
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
-
Keeperv85
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... ).
Kérlek ne írjátok, hogy Total Commander... mert nincs Windows. Nem véletlen kell a szoftvert is átportolni...!
-
Keeperv85
nagyúr
válasz bambano #1840 üzenetére
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...
@emvy:
Köszi, ez már jobban fest, mint amit én találtam...
[ Szerkesztve ]
-
PistiSan
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.
-
bambano
titán
válasz PistiSan #1844 üzenetére
majdnem ugyanezen problémára én ezt írtam:
dd if=/dev/video$videodev of=$dir/$filename.tmp &
PID="$!"
sleep $3
kill -9 $PIDebbő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.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
PistiSan
addikt
válasz PistiSan #1846 üzenetére
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? -
PistiSan
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
Új hozzászólás Aktív témák
Hirdetés
- Házimozi belépő szinten
- Témázgatunk, témázgatunk!? ... avagy mutasd az Android homescreened!
- OLED TV topic
- Vodafone mobilszolgáltatások
- Tőzsde és gazdaság
- Megérkezett a Snapdragon X-hez tervezett Windows 11 lemezkép
- 797 millió euróra büntették a Metát a Facebook Marketplace miatt
- Formula-1
- Bitcoin, Tesla: az egeken a befektetők reményei, Musk a Trump-kormányba kerül
- LEGO klub
- További aktív témák...
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Star Wars Outlaws GeForce RTX 40 Bundle - lepd meg magad!
- ESET termékek hivatalos forgalmazója / NOD32 / Internet Security / Smart Security Premium
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap
- Game Pass Ultimate előfizetések 1 - 19 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: HC Pointer Kft.
Város: Pécs