Új hozzászólás Aktív témák
-
Jester01
veterán
-
Jester01
veterán
válasz
stargazer
#61
üzenetére
Azért törölte ki az F4500-at, mert már volt egy F. előtte (konkrétan a fájlnévben).
Mivel nem tiszta hogyan ismerjem fel az F-eket, ezért itt éppen olyan feltétel volt, hogy F betű utána számok, pont vagy mínuszjel. Most ebből kihagytam a pontot, így erre az esetre most megint jónak tűnik. Ha egyszer végre leírnád pontosan hogy mit, hol és mire kell cserélni biztos jobb lenne
A fájlos kérdésed meg egyszerűen nem értem
-
Jester01
veterán
válasz
stargazer
#56
üzenetére
Felraktam az általam használt bemenetet ide: [link]
Kipróbáltam win alatt is, ott is jó. Megnéznéd, hogy neked erre mit csinál, illetve mi a különbség a te adataidhoz képest?
nem lehet gond hogy nem txt a kiterjesztés, mert ez nem egy specifikus kiterjesztés, sima szöveg ez is csak annyi hogy nem
Az mindegy, hiszen az átirányítás miatt az awk nem is látja a fájlt, õ simán csak a bemenetérõl olvas. -
Jester01
veterán
Újabb változat a linken.
-
Jester01
veterán
Én most eltûntem a hétvégére, folyt. köv.
-
Jester01
veterán
-
Jester01
veterán
válasz
stargazer
#34
üzenetére
ki fogsz nyírni.
Az tuti
Na szóval:
AalmaBkorte - (nincs csere) -> AalmaBkorte
AalmaBkorte - (alma csere) -> csereszoBkorte
AalmaBkorte - (korte csere) -> Aalmacsereszo
Ez kell?
MOD: ha egy AalmaBkorte sor utan van egy AkorteBalma akkor mit kell csinálni? Most ebben az esetben mind a kettõt cserélem (hiszen szerepeltek az elõzõ sorban) és akkor az új rendszer szerint csereszocsereszo lesz a kimenet.
[Szerkesztve] -
Jester01
veterán
válasz
stargazer
#32
üzenetére
BEGIN { FS=''[AB]''; }
{
delete newwords;
swap=0;
for(i=2; i<=NF; i++)
{
newwords[$i]=1;
if ($i in prevwords) { $i=''csereszo''; swap=1; }
}
delete prevwords;
for(w in newwords) { prevwords[w]=1; }
if (swap)
{
print $2 ''B'' $3;
} else {
print;
}
}
A linken is frissítettem. Ez most kitörli a sor elejéról az A-t ha csere van, de a B marad. Azok a sorok amelyekben nem vol csere változatlan formában kerülnek kiírásra. -
Jester01
veterán
válasz
stargazer
#23
üzenetére
Vesszek meg, de nem látom. Most az utolsó 4 sort idézted be, nem? A közvetlenül elõtte lévõ sorban (amit nem idéztél) pedig ott van az alma és nem lett kicserélve.
MOD: vagy az a baj, hogy az idézett rész elsõ sorában az alma a második szó és nem az elsõ? Azt nem mondtad, hogy a pozició is számít...
[Szerkesztve] -
Jester01
veterán
válasz
stargazer
#21
üzenetére
BEGIN { FS=''[AB]''; }
{
delete newwords;
for(i=2; i<=NF; i++)
{
newwords[$i]=1;
if ($i in prevwords) { $i=''csereszo''; }
}
delete prevwords;
for(w in newwords) { prevwords[w]=1; }
print ''A'' $2 ''B'' $3;
}
Futási eredmény (be -> ki):
AalmaBkörte -> AalmaBkörte
AcseresznyeBeper -> AcseresznyeBeper
AdióBmogyoró -> AdióBmogyoró
AalmaBeper -> AalmaBeper
AalmaBdió -> AcsereszoBdió
AalmaBkörte -> AcsereszoBkörte
AalmaBmeggy -> AcsereszoBmeggy
AcseresznyeBmeggy -> AcseresznyeBcsereszo
AalmaBkörte -> AalmaBkörte
AcseresznyeBeper -> AcseresznyeBeper
AdióBmogyoró -> AdióBmogyoró
AalmaBeper -> AalmaBeper
AdióBalma -> AdióBcsereszo
AalmaBkörte -> AcsereszoBkörte
AalmaBmeggy -> AcsereszoBmeggy
AcseresznyeBdió -> AcseresznyeBdió -
Jester01
veterán
-
Jester01
veterán
A következõ kis awk script 1 mintára azt hiszem megcsinálja amit szeretnél:
/alma/ {
if (alma) gsub(/alma/, ''csereszo''); else alma=1;
print; next; }
{ alma=0; print; } -
Jester01
veterán
Mutass egy példát!
alma korte dio
mogyoro mak alma
tok dio korte
mak alma szilva
Ehhez 1 kifejezést adsz, ami mondjuk alma.
Akkor a kimenet ez legyen?
alma korte dio
mogyoro mak
tok dio korte
mak alma szilva
Vagyis a második sorból kell törölni az alma-t mert az elsõben is benne volt
Új hozzászólás Aktív témák
- Hivatalos a OnePlus 13 startdátuma
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- LEGO klub
- sziku69: Fűzzük össze a szavakat :)
- Kormányok / autós szimulátorok topikja
- Gitáros topic
- exHWSW - Értünk mindenhez IS
- Anglia - élmények, tapasztalatok
- Abarth, Alfa Romeo, Fiat, Lancia topik
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- iPhone 16 pro 128GB Sivatagi Titán - 27% ÁFA (0395)
- BESZÁMÍTÁS! HP Elitebook 745 G6 14 üzleti notebook - R5 3500U 16GB DDR4 256GB SSD Vega 8 IGP WIN11
- MSI Gaming Thin 15 - 15.6"FHD 144Hz - Ryzen 7 7735HS - 16GB - 1TB - Win11 - RTX 4060 - 2,5 év gari
- Panasonic LUMIX G 25mm f/1.7 ASPH objektív
- GYÖNYÖRŰ iPhone 13 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4681
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest







