- Poco X6 Pro - ötös alá
- Azonnali mobilos kérdések órája
- Apple AirPods Pro (2. generáció) - csiszolt almaságok
- Huawei Mate 10 Pro - mestersége az intelligencia
- Vodafone-ra áttért Digi Mobilosok
- Xiaomi Mi 11 Ultra - Circus Maximus
- iOS alkalmazások
- Yettel topik
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Telekom mobilszolgáltatások
Hirdetés
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
-
Az Apple iPadOS-t is megrendszabályozza az EU
it Az EB közölte: az Apple iPad táblagépekre írt iPadOS rendszere is kapuőrnek számít, az üzleti felhasználókra gyakorolt fontossága miatt.
-
Karácsonyfaként világíthat a Thermaltake új CPU-hűtője
ph Az ASTRIA 600 ARGB ráadásul a hűtési teljesítmény szempontjából sem szégyenkezhet.
Új hozzászólás Aktív témák
-
spammer
veterán
válasz beloadjoker #2128 üzenetére
Felesleges a cat és a grep. awk érti a regexet és tud bementeni fájlt olvasni.
Valami ilyesmi, de a konkrét fájltól is függ.
awk '/[a-zA-Z]+/{print $2" "$1}' nevek.txt
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
spammer
veterán
válasz beloadjoker #2130 üzenetére
Te írtad a regexet, én csak beraktam awk-ba. Ha csak simán nevek vannak a fájlban felsorolva egymás alá, akkor nem is kell. Például:
$ cat nevek.txt
Kiss Béla
Nagy Józsi
Takács Endre
$ awk '{print $2" "$1}' nevek.txt
Béla Kiss
Józsi Nagy
Endre TakácsA " " az egy szóköz, különben ez lesz:
awk '{print $2 $1}' nevek.txt
BélaKiss
JózsiNagy
EndreTakácsszerk: a házi feladat többi rész rád vár. Sok példa van neten, meg tutorialok is, nulláról nem írja meg helyetted senki, főleg konkrét példa/feladat nélkül.
[ Szerkesztve ]
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
spammer
veterán
válasz beloadjoker #2132 üzenetére
Valami ilyesmi esetleg:
awk '/^[A-Z]+/{print $2" "$1}'
szerk: és a $2 és $1 ugye két mezőt printel, ha valakinek 3 részből áll a neve (pl. Kiss Elemér Géza), akkor az bukta, erre figyelj majd.
[ Szerkesztve ]
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
Headless
őstag
válasz beloadjoker #2134 üzenetére
awk '/^[A-Z][a-z]+ [A-Z][a-z]+/{print "Sorszám: "NR" szavak száma: "NF" "$2" "$1}'
Persze az még mindig kérdéses mi van a 3 nevűekkel. ott a 3.-kat elveszted vagy simán kiprinteled, a 3.-kat is.
Idézőjel azért kell, hogy a print tudja hogy nem változót akarsz használni, hanem egyszerű stringet.
ahogy látszik a mintában vannak beépített változók awk-ban, azokat használhatod
googleben hamar megtalálhatod őket.[link]Vagy esetleg még a filed numberre is szűrhetsz
awk 'NF>2&&NF<3&&/^[A-Z]/{print ....}'
mondjuk persze mindig lehet finomítani.
[ Szerkesztve ]
LEDE - R3G/DIR860l -> https://tinyurl.hu/Ntkb/
-
Headless
őstag
válasz beloadjoker #2136 üzenetére
jah most nézem akkora ellentmondás van a field numberes szűrésemben...
nagyobb 2-nél és kisebb 3-nál... mindegy a lényeget gondolom értetted.
[ Szerkesztve ]
LEDE - R3G/DIR860l -> https://tinyurl.hu/Ntkb/
-
beloadjoker
őstag
válasz beloadjoker #2138 üzenetére
Hali srácok ezt szeretném megcsinálni:
Elírás történt egy fájlban. Hogyan cserélné le a 19-cel kezdődő évszámokat 20-val kezdődőre. (évszám 4 karakter!):
pl.:1908 --> 2008sed 's/\(19\)\([0-9][0-9]\)/20\2/g' a
Az a bajom hogy nem csak a 4 számból állókat írja át szóval szerintem be kéne szúrni valahova ezt: {4} de nem sikerül, tudnátok segíteni?
Oneplus One 64gb S. Black + nokia N900 + Xperia Mini + Lenovo y510p i7 SLI 16Gb 256 ssd 1tb ext. hdd + Lenovo x200 + Nexus 7 grouper 16gb + Nexus 7 flo 32gb
-
spammer
veterán
válasz beloadjoker #2139 üzenetére
$ cat evszamok.txt
1908
1922
1938
1522
2012
$ awk '/^19[0-9]{2}$/{sub("19","20");print}' evszamok.txt
2008
2022
2038Biztos van egyszerűbb megoldás is, de nekem most még korán van, elsőre ez jött.
„A feketébe öltözött ember a sivatagon át menekült, a harcos pedig követte."
-
Headless
őstag
válasz beloadjoker #2139 üzenetére
Ez attól függ mi a környezet, az évszámok utáni részt is rakd be a \2-be. szóköz, end line, field separator, stb az 19 elé meg szintén berakhatod ezeket.
Viszont én a te megoldásodon annyit javítanék, hogy a 19 után nem engedném hogy 0-9 legyen mert akkor az 1993-at is át fogja írni, ami valószínű nem elírás... Ezért én maximum [0-1][0-9]-et engednék meg. Még ígyis 2019-ig fogja változtatni
Szerk: azért elég furcsa egy adatbázis ez... Semmi rendszeresség...
[ Szerkesztve ]
LEDE - R3G/DIR860l -> https://tinyurl.hu/Ntkb/
-
Headless
őstag
válasz beloadjoker #2143 üzenetére
Hát ez egy összetetteb ha így mindenre gondolni kell...
Első körben vegyük azokat amik a sor közepén helyezkednek el, 4 szám egymás után, előtte utána bármi ami nem szám, az már évszám
sed "s/\([^0-9]\)\(19\)\([0-9]\{2\}[^0-9]\)/\120\3/g" /evszam.txt
Előtte nincs semmi (sorkezdés) utána van bármi ami nem szám.
sed "s/^\(19\)\([0-9]\{2\}[^0-9]\)/20\2/" /evszam.txt
Előtte bármi ami nem szám, utána semmi (sorvég).
sed "s/\([^0-9]\)\(19\)\([0-9]\{2\}\)$/\120\3/" /evszam.txt
előtte utána semmi (csak az évszám van).
sed "s/^\(19\)\([0-9]\{2\}\)$/20\2/" /evszam.txt
Persze ezt besűrítheted egy nagy átláthatatlan parancsba.
sed "s/^\(19\)\([0-9]\{2\}\)$/20\2/;s/\([^0-9]\)\(19\)\([0-9]\{2\}\)$/\120\3/;s/^\(19\)\([0-9]\{2\}[^0-9]\)/20\2/;s/\([^0-9]\)\(19\)\([0-9]\{2\}[^0-9]\)/\120\3/g" /evszam.txt
Minden eshetőségre könnyebbet nem találtam. Persze a szövegelválasztókat cserélheted bármi másra. [^0-9] hogy ne ugorjon bármire, ami nem szám. pl nem szám és nem betű. [^0-9a-zA-Z] vagy csak szóköz és vessző [ ,]
Az &&-el óvatosan, ha mindenképp le kell futni, mert ha így adod ki, akkor csak akkor fog lefutni, ha az első parancs lefutott és a return értéke 0.
vagyis ha mondjuk grep nem talál semmit akkor nem fog végrehajtódni a && után jövő parancs. Ha már 1 sorba kell tömöríteni használjuk a ";"-et parancsok elválasztásához.
[ Szerkesztve ]
LEDE - R3G/DIR860l -> https://tinyurl.hu/Ntkb/
-
ZCoyote
őstag
-
vargalex
félisten
válasz beloadjoker #2142 üzenetére
Szia!
Én ezt tenném:
cat a | sed 's/\b19\([0-9]\{2\}\)\b/20\1/g'
Alex
Új hozzászólás Aktív témák
- Apple notebookok
- Anime filmek és sorozatok
- gban: Ingyen kellene, de tegnapra
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Az USA vizsgálja a RISC-V kínai terjedésének kockázatát
- DIGI kábel TV
- Premier előzetesen a Gray Zone Warfare
- Windows 10
- Poco X6 Pro - ötös alá
- Ukrajnai háború
- További aktív témák...