Hozzászólások
-
SzerzőBejegyzés
-
Bocsanat, javitottam…
Lefuttattam ugy, hogy a std kimenetre irja ki a dolgokat, ekkor egy pillanat alatt lefutott, es a vegere kikopott egy ilyen sort:
e = 54.231
Ez mit jelent? Ennyi sorbol all a rendezett file? Kicsit gyanus, hogy ilyen hamar lefutott, kb. 5s…Nem baj, ha megvaltozik. Viszont nagy file-okra is mukodik? Van egy 3Gb-os file-om, amiben van kb. 100 millio sor. Rakuldtem a fenti parancsot ilyen formaban:
sort -u adat.dat > rendezett_adat.dat
, de 0 byte-os az uj file, ugy tunik nem irodik bele semmi, viszont a processzor dolgozik… Otlet??Az a helyzet, hogy a sed script mukodik, hiszen az egymas utan ismetlodo sorok kozul torli az egyiket. De az en adatsoromban nem csak es kizarolag egymas utan vannak ismetlodo sorok, hanem ossze-vissza elszortan. Tehat ezek rendezese tok jo lenne, ekkor valoszinuleg mukodne is a uniq…
Már csak rendezni kellene akkor az adatsort… Tudsz erre egy par soros valami hint-et adni? Az adatsorom „%.32fn” alaku szamokbol all.Valóban, ha a uniq csak ugy tud torolni, hogy az ismetlodo soroknak egymas utan kell lenniuk, akkor nem lesz jo. Viszont lehet, hogy rendezni kene a dolgot…ezen meg gondolkodom. Amugy, ha rendezni kellene, akkor hogyan erdemes?
A ketszer ismetlodo sorokra letezik egy sed parancs :
sed 'x; G; /^(.*)n1$/ d; g; p; d'
Letezik-e ennek altalanositasa >2 sor eseten?
Van egy data.dat ban oszlopszeruen adatsor egymas alatt folytonosan (azaz nincs kozottuk semmilyen whitespace karakter: se szokoz, se vesszo, se semmi), ahogy az elozo postban. Na most mondjuk ebbol az adatsorbol van 16 darab sor 1 oszlopban. Ekkor negyesevel szeretnem szetszedni az oszlopbeli adatokat es ezeket egymas melle tenni mondjuk egy ” ” szokozzel elvalasztva, igy:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ez lenne a vegeredmeny:
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
Alakul, csak valami hasonlo kellene:
a
b
c
de
f
g
h
bol az alabbit
a e
b f
c g
d h
Nem hazi. Nem feltetlenul kell awk-ban, lehet sed is. Csak most ezeket probalom tanulgatni…
Igen ez logikus, csak awk-ban kellene megvalositani… Tudsz egy kis kodot is adni ehhez?
-
SzerzőBejegyzés
legutóbbi hsz