Linux alatt szövegfájl bizonyos sorainak megszámolása, shell-script vagy parancs?
Linux alatt milyen parancsok segítségével számolhatóak meg pl. egy szövegfájl bizonyos sorai?
A következő a helyzet, van egy szövegfájl, amelynek van egy sora, és a rá következő sor az érdekes, amelynek több értéke is lehet.
Példa:
alma
piros alma
alma
zöld alma
alma
birsalma
alma
nyári alma
alma
Jonatán alma
Stb.
Tehát megtalálja hogy "alma" és az ez utáni sorban előforduló stringeket megszámlálja és a végén kiírja: melyik stringből mennyi fordult elő.
Akál shell script vagy bármi érdekelne. "sed", "awk" meg grep össze-pipe-olása is.
Programot tudnék rá írni, de az érdekelne: van -e beépített megoldása erre a Linuxnak.
Nem állítottam, hogy ne lenne jó, ne felelne meg.
Azt gondoltam, hogy - mivel Linux alatt nagyon sokminden megoldható villámgyorsan parancssorral - van valamilyen jó megoldás.
Megírtam a programot, sima szekvenciális fájlolvasás, karakterlánc-ellenőrzés, változónővelés és kész.
Az "alma" után következő sorban mi van - ezt vizsgálja a program - és abból mennyi van.
Például végeredmény lehetne ez:
piros alma: 490 zöld alma: 879 birsalma: 110 nyári alma: 950 Jonatán alma: 678
Kinek hogy, egyéni preferenciák kérdése. Az ilyen jellegű adatfeldolgozó feladatoknál inkább írok 10 perc alatt egy Perl skriptet, mint hogy fél napig agyaljak azon, hogy hogyan lehet 1-2 sorban, parancssorból megírni. Az is izgalmas feladat, sőt, kifejezetten jó agytorna, de ha a gyorsaságról van szó, akkor szeretem a bevált módszereimet alkalmazni.
Az egyszerűség meg nem egzakt dolog. Attól, hogy valami rövidebb, még egyáltalán nem biztos, hogy átláthatóbb.
"Azt megszoktam, hogy sok dolog jóval gyorsabban és egyszerűbben oldható meg, mintha programot írnék rá."
Jaj neeee
Az awk egy olyan programozási nyelv, amit szöveges állományok feldolgozására terveztek. Egy tipikus awk programot egy interpreter olvas be és hajt végre. A szkript végrehajtása során a feldolgozott szöveges állományat másféle kimenetté formálja át.
A nyelv tömörsége miatt néhány program olyan rövid, hogy parancssori paraméterként is beadható az interpreter részére.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!