sajnos nem jo. a failures=11 helyett failures="11" van a file-ban. kiprobaltam, amit irtal, csak a grep reszt utana megadva az xml file nevet, syntax error-t kapok
De beraktad a 2 dupla idézőjelet, aminek semmi értelme, mert a shell ugyanúgy megeszi, és az echo nem írja ki. Azt értjük hogy a regexszel nem foglalkoztal, de az idézőjelek nem sikerültek.
Szerintem a sed is jo lehet, illetve barmi, ami egy default linux kornyezetben biztosan elerheto, viszont a gondom az, hogy az echo "akarmi" lathatoan teljesen mas, mint amikor a grep-nek megadom az akarmi.xml file-t. ez utobbira lenne szuksegem
Kérlek bocsáss meg, ha valami ostobaságot feltételezek rólad, de ebből a kérdésből nekem úgy tűnik, hogy neked egyáltalában a leghalványabb fogalmad sincs arról, hogyan is működik a UNIX.
Tehát blr megoldása:
grep -Po "(?<=failures=\")\d+(?=\")" akarmi.xml
Az én megoldásom:
cat akarmi.xml | grep failures | sed 's/[a-zA-Z=" ]//g'
Azert kerdezek/kerek segitseget, mert valamihez nem ertek, nem tudom megoldani, elakadtam benne stb. Azt gondoltam egy forum erre valo, es nem szegyen kerdezni. Ezzel szemben neked valamiert fontos volt a fejemhez vagni, hogy "a leghalvanyabb fogalmam sincs rola". Ez semmikepp sem epito kritika, sokkal inkabb serto, pedig en senkihez sem serto hangnemben alltam hozza. Par hozzaszolassal lejjebb egy masik forumtars javaslatanak a segitsegevel meg tudtam oldani, amire szuksegem volt, es ott megkoszontem MINDENKINEK a segitseget.
Bizom benne, hogy jobb lett a napod, az enyemet rosszabba tetted, koszonom, szuksegem volt ra....
Azt sem ertem, aki ehhez meg +1-gyelt is
Legkozelebb tobbszor is meggondolom, hogy kerjek-e barmiben segitseget, amirol a leghalvanyabb fogalmam sincs
Legkozelebb tobbszor is meggondolom, hogy kerjek-e barmiben segitseget, amirol a leghalvanyabb fogalmam sincs
Hát itt volna a kutya lényege elásva...
Kaptál két (!) működő megoldást (egyet tőlem, egyet blr-től), majd Zahy-tól még egyet, plusz egy javaslatot egy alternatív eszközre, amit elutasítottál.
Ha neked ebből azt a következtetést sikerült levonnod, hogy nem érdemes kérdezni, akkor tényleg nem érdemes, de ez nem a mi hibánk.
A fórum valóban erre való, kérdezni nem szégyen, de van a nemtudásnak az a szintje, amin csak tanulással lehet segíteni, nem azzal, hogy válaszolunk neked. Az meg a te dolgod.
Felépítettük neked több jó megoldás vázát, arra viszont nem voltunk felkészülve, hogy te valójában azt nem tudod, hogy a grep-nek melyik végén megy be a kőolaj.
Hat nem emlekszem, hogy elutasitottam volna barmit, az adott rendszerhez nincs hozzaferesem, a grep tuti, hogy van, szerintem sed is, a tobbit sajnos nem tudom. Egyiktek megoldasara sem mondtam, hogy rossz, valoszinuleg en nem tudtam ugy hasznalni, ahogy kellett volna, Zachy-et meg igen.
De mindegy, nem leszunk szerintem kozos nevezon, en nem fogadom el, hogy jart nekem a koki, te pedig valoszinuleg nem fogod belatni, hogy felesleges volt a tudasom hianyossagat minositeni. Mindegy, megegyszer a te idodet is koszonom, amit a kerdesemre szantal.
Egészen biztosan működik a megoldásom, ugyanis voltam annyira alapos, hogy kipróbáljam, mielőtt ideírtam.
Ez az állítás természetesen az itt a fórumon látható teszt bemenetre vonatkozik, és nem a te konkrét anyagodra, hiszem arról nem tudhatok semmit azon kívül, amennyit elárultál róla. Nem szűri ki például az XML-ben szokásos <> karaktereket, már ha vannak a kérdéses formátumú sorokban ilyenek. De ezt hangsúlyozottan nem tudhatom.
A te megoldásod már azon elvérzik, ha kiveszed az inputból a \n-t… Szóval bármilyen XML-en elvérzik, ahol még ha szépen formázott is, de van legalább még egy property, aminek szám a paramétere.
Erre mondtam, hogy a megoldásom az itt látható teszszövegre helyesen működik, az XML-t meg nem tudhatom, mert sose láttam.
És természetesen erre vonatkozik az a korábbi állításom is, hogy emberünk kapott egy vázat, amit továbbfejleszthetne, ha egyáltalán értene hozzá bármennyire.
Igen, szeretem a macskákat és igen, 5 karakterrel rövidebb, így amennyiben ínhüvely gyulladásra optimalizálunk, akkor mindenképpen a tiéd a jobb.
Egyébként pont ugyanilyen vita folyt már itt évekkel ezelőtt és emlékemim szerint ott se sikerült meggyőznöm senkit arról, hogy ilyen esetekben ez max. stiláris kérdés, a gyakorlati jelentősége a nullával egyenlő, hacsak nem valami monumentális adatmennyiséget akarunk feldolgozni, mert ott tényleg van helye efféle optimalizációknak (már nem az ínhüvelynek, hanem mondjuk a futtatott programok számának).
Jelen esetben persze mindez még a lényegtelennél is lényegtelenebb, hiszen a kérdező szerint a megoldásom nem is működik, se macsával, se anélkül. :-D
Nem hazi feladat. Egy GitHub action, aminek az alapjait ado linux-hoz nem ferek hozza olyan szinten, hogy telepiteni tudjak ra barmit, vagy megnezni, hogy elerheto-e. grep tuti van, ezert jott ez a verzio munkatarsamtol.
Nekem még a kis műanyag szappantartó routeremen is van awk, és awk-val az ilyen problémák remekül megoldhatók, mert egyfelől ismeri a regexp-et, másfelől egy teljes scrip nyelv C-hez közeli szintaxissal. Épp ezért kérdeztem, mert awk-ban kb. bármit meg tudsz oldani, ami szöveges file feldolgozása. Vannak változóid, asszociatív tömbjeid, de ha kell, még cosinus függvényed is. :) Persze így, hogy már van megoldás, nem érdekes, inkább általában mondom.
Vannak helyek, ahol nem lehet mindenfélét telepíteni. Ha az elérhető repókban nincs xmlstarlet vagy éppen yq, akkor marad a grep. Ezt viszont adott esetben el kell fogadni.
nem egeszen. alapvetoen a te dontesed, hogy melyik image-n futtatod a github action-t. valasszatok olyat, amin van minden olyan tool, ami a korrekt, jo munkahoz szukseges. Ha nincs, alapvetoen megintcsak trivialis egy Dockerfile-t csinalni, amibe apk/apt -val belerakod, ami kell, es fel-pusholod dockerhub-ra. De legalabbis sokkal gyorsabb, mint orakat szoszolni egy vegeredmenyben megbizhatatlan grep -en, ami az elso xml formatum valtozasra osszefossa magat.
Ennel sajnos joval komplexebb a dolog, viszont erdekelne, hogy honnan tudhatom, hogy milyen image-ek elerhetok hasznalatra, es azokban mi erheto el? Kesobb szivesen futnek egy kort ezzel.
Hozzászólások
elsore ilyesmi:
$ echo -e "failures=11 foo\nbarother failures=12" | grep -Po "(?<=failures=)\d+"
11
12
sajnos nem jo. a failures=11 helyett failures="11" van a file-ban. kiprobaltam, amit irtal, csak a grep reszt utana megadva az xml file nevet, syntax error-t kapok
U-dash
oke, de:
#echo -e "failures="11" foo\nbarother failures="12""
failures=11 foo
barother failures=12
#echo -e 'failures="11" foo\nbarother failures="12"'
failures="11" foo
barother failures="12"
neked aztan fura humorod van...
Ne nekem mondd, érdemben nem foglalkoztam vele, csak tibyke kódjához írtam két karaktert. :)
És? Az eredeti is ezt csinálja, by tibyke. Értsétek már meg, hogy nem foglalkoztam ezzel ennél jobban. :D
De beraktad a 2 dupla idézőjelet, aminek semmi értelme, mert a shell ugyanúgy megeszi, és az echo nem írja ki. Azt értjük hogy a regexszel nem foglalkoztal, de az idézőjelek nem sikerültek.
grep -Po "(?<=failures=)\d+" filenam.xml
ebben a formaban a result ures.
grep -oP 'failures="\K[^"]*"' filename.xml
eredmeny : 11"
U-dash
Helyesen:
Az echod elnyeli az idézőjeleket.
Science for fun...
A sed nem grep, de ha bármit lehet, legyen tr a grep után:
grep failures | tr -dc '[0-9\n]'
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
És?
Gondolod, hogy a kérdező rendszerén nincs fönn a sed?
Esetleg tiltja a vallása a használatát? Szeret hátrabilincselt kézzel tangózni? Kés ÉS villa helyett csak késsel enni?
Science for fun...
Szerintem a sed is jo lehet, illetve barmi, ami egy default linux kornyezetben biztosan elerheto, viszont a gondom az, hogy az echo "akarmi" lathatoan teljesen mas, mint amikor a grep-nek megadom az akarmi.xml file-t. ez utobbira lenne szuksegem
U-dash
https://hup.hu/comment/2969898#comment-2969898
Kérlek bocsáss meg, ha valami ostobaságot feltételezek rólad, de ebből a kérdésből nekem úgy tűnik, hogy neked egyáltalában a leghalványabb fogalmad sincs arról, hogyan is működik a UNIX.
Tehát blr megoldása:
Az én megoldásom:
További sok sikert!
Science for fun...
Erre amugy mi szukseg volt?
Azert kerdezek/kerek segitseget, mert valamihez nem ertek, nem tudom megoldani, elakadtam benne stb. Azt gondoltam egy forum erre valo, es nem szegyen kerdezni. Ezzel szemben neked valamiert fontos volt a fejemhez vagni, hogy "a leghalvanyabb fogalmam sincs rola". Ez semmikepp sem epito kritika, sokkal inkabb serto, pedig en senkihez sem serto hangnemben alltam hozza. Par hozzaszolassal lejjebb egy masik forumtars javaslatanak a segitsegevel meg tudtam oldani, amire szuksegem volt, es ott megkoszontem MINDENKINEK a segitseget.
Bizom benne, hogy jobb lett a napod, az enyemet rosszabba tetted, koszonom, szuksegem volt ra....
Azt sem ertem, aki ehhez meg +1-gyelt is
Legkozelebb tobbszor is meggondolom, hogy kerjek-e barmiben segitseget, amirol a leghalvanyabb fogalmam sincs
U-dash
Hát itt volna a kutya lényege elásva...
Kaptál két (!) működő megoldást (egyet tőlem, egyet blr-től), majd Zahy-tól még egyet, plusz egy javaslatot egy alternatív eszközre, amit elutasítottál.
Ha neked ebből azt a következtetést sikerült levonnod, hogy nem érdemes kérdezni, akkor tényleg nem érdemes, de ez nem a mi hibánk.
A fórum valóban erre való, kérdezni nem szégyen, de van a nemtudásnak az a szintje, amin csak tanulással lehet segíteni, nem azzal, hogy válaszolunk neked. Az meg a te dolgod.
Felépítettük neked több jó megoldás vázát, arra viszont nem voltunk felkészülve, hogy te valójában azt nem tudod, hogy a grep-nek melyik végén megy be a kőolaj.
Ilyen ez a szeszipar.
Science for fun...
Hat nem emlekszem, hogy elutasitottam volna barmit, az adott rendszerhez nincs hozzaferesem, a grep tuti, hogy van, szerintem sed is, a tobbit sajnos nem tudom. Egyiktek megoldasara sem mondtam, hogy rossz, valoszinuleg en nem tudtam ugy hasznalni, ahogy kellett volna, Zachy-et meg igen.
De mindegy, nem leszunk szerintem kozos nevezon, en nem fogadom el, hogy jart nekem a koki, te pedig valoszinuleg nem fogod belatni, hogy felesleges volt a tudasom hianyossagat minositeni. Mindegy, megegyszer a te idodet is koszonom, amit a kerdesemre szantal.
udv
U-dash
Amugy most volt idom, kiprobaltam megegyszer. blr megoldasa tokeletesen mukodik, a tied sajnos nem.
U-dash
Egészen biztosan működik a megoldásom, ugyanis voltam annyira alapos, hogy kipróbáljam, mielőtt ideírtam.
Ez az állítás természetesen az itt a fórumon látható teszt bemenetre vonatkozik, és nem a te konkrét anyagodra, hiszem arról nem tudhatok semmit azon kívül, amennyit elárultál róla. Nem szűri ki például az XML-ben szokásos <> karaktereket, már ha vannak a kérdéses formátumú sorokban ilyenek. De ezt hangsúlyozottan nem tudhatom.
Science for fun...
A te megoldásod már azon elvérzik, ha kiveszed az inputból a \n-t… Szóval bármilyen XML-en elvérzik, ahol még ha szépen formázott is, de van legalább még egy property, aminek szám a paramétere.
Így van.
Erre mondtam, hogy a megoldásom az itt látható teszszövegre helyesen működik, az XML-t meg nem tudhatom, mert sose láttam.
És természetesen erre vonatkozik az a korábbi állításom is, hogy emberünk kapott egy vázat, amit továbbfejleszthetne, ha egyáltalán értene hozzá bármennyire.
Science for fun...
Erre megoldás lehet az, ha minden "<" elé, és minden ">" után berak egy sortörést, és az így tördelt fájlon már "rendesen" tud dolgozni egy másik sed:
De lehet fordítva is menni: tr -d -vel egy sorba összepakolni, aztán az elejétől a failures=" -ig és a számok és pont utántól mindent törölni...
Szereted a macskákat? :-)
grep failures akarmi.xml | sed ... sok leütéssel rövidebb.
Igen, szeretem a macskákat és igen, 5 karakterrel rövidebb, így amennyiben ínhüvely gyulladásra optimalizálunk, akkor mindenképpen a tiéd a jobb.
Egyébként pont ugyanilyen vita folyt már itt évekkel ezelőtt és emlékemim szerint ott se sikerült meggyőznöm senkit arról, hogy ilyen esetekben ez max. stiláris kérdés, a gyakorlati jelentősége a nullával egyenlő, hacsak nem valami monumentális adatmennyiséget akarunk feldolgozni, mert ott tényleg van helye efféle optimalizációknak (már nem az ínhüvelynek, hanem mondjuk a futtatott programok számának).
Jelen esetben persze mindez még a lényegtelennél is lényegtelenebb, hiszen a kérdező szerint a megoldásom nem is működik, se macsával, se anélkül. :-D
Science for fun...
grep -o 'failures="[0-9][0-9]*"' | grep -o '[0-9][0-9]*'
A trükk a -o opcióban van :-)
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
igen, kb ez lett a jo megoldas:
grep -o 'failures="[0-9][0-9]*"' filename.xml | grep -o '[0-9][0-9]*'
es ez valoban a failures erteket adja vissza idezojelek nelkul.
kicsit fura, hogy egy grep-pel nem megy, de atmenetileg biztosan jo lesz.
koszonom mindenkinek a segitseget
U-dash
mar hogyne menne?!
Nem jo tool-t hasznalsz. Ha XML, akkor hasznalj a jq xml megfelelojet, xq-t ilyenekhez.
https://www.ashbyhq.com/blog/engineering/jq-and-yq
A grep szoveges file-okhoz valo, nem mar alapbol strukturalt adatformatumhoz.
Sajnos nincs lehetosegem egyeb tool-okat hasznalni, de koszonom a javaslatot :)
U-dash
Awk-t sem? Ez valami házi feladat?
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
Nem hazi feladat. Egy GitHub action, aminek az alapjait ado linux-hoz nem ferek hozza olyan szinten, hogy telepiteni tudjak ra barmit, vagy megnezni, hogy elerheto-e. grep tuti van, ezert jott ez a verzio munkatarsamtol.
U-dash
Nekem még a kis műanyag szappantartó routeremen is van awk, és awk-val az ilyen problémák remekül megoldhatók, mert egyfelől ismeri a regexp-et, másfelől egy teljes scrip nyelv C-hez közeli szintaxissal. Épp ezért kérdeztem, mert awk-ban kb. bármit meg tudsz oldani, ami szöveges file feldolgozása. Vannak változóid, asszociatív tömbjeid, de ha kell, még cosinus függvényed is. :) Persze így, hogy már van megoldás, nem érdekes, inkább általában mondom.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
akkor siman elkepzelheto, hogy itt is van. koszonom az otletet.
U-dash
Talan tudok segiteni: ilyenkor en grep-pel kiszurom a megfelelo sorokat, aztan cut -tal kivagom a megfelelot, kb. igy:
Persze nyilvan a grep-et meg a cut 'field' (f) parameteret be kell allitani. cut szinte biztosan lesz az image-ben, amelyikben grep van.
Mindig meghal egy aranyos kiscica, amikor xml-t greppel valaki.
Vannak helyek, ahol nem lehet mindenfélét telepíteni. Ha az elérhető repókban nincs xmlstarlet vagy éppen yq, akkor marad a grep. Ezt viszont adott esetben el kell fogadni.
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
nem egeszen. alapvetoen a te dontesed, hogy melyik image-n futtatod a github action-t. valasszatok olyat, amin van minden olyan tool, ami a korrekt, jo munkahoz szukseges. Ha nincs, alapvetoen megintcsak trivialis egy Dockerfile-t csinalni, amibe apk/apt -val belerakod, ami kell, es fel-pusholod dockerhub-ra. De legalabbis sokkal gyorsabb, mint orakat szoszolni egy vegeredmenyben megbizhatatlan grep -en, ami az elso xml formatum valtozasra osszefossa magat.
Ennel sajnos joval komplexebb a dolog, viszont erdekelne, hogy honnan tudhatom, hogy milyen image-ek elerhetok hasznalatra, es azokban mi erheto el? Kesobb szivesen futnek egy kort ezzel.
U-dash
uhum, docker run -nal futtasd az image-t. github actions nem az ujjabol szopja az image-eket, hanem meg kell neki mondani, melyiket hasznalja, pl. lasd: https://docs.github.com/en/actions/using-jobs/running-jobs-in-a-contain…
koszi, megnezem majd :)
U-dash
Tudom, en is oltem mar igy kiscicat :) Nem vagyok ra buszke.