Přihlásit
: [1]
   |   
: opet boj s awk  ( 3432 )
guus
Jr. Member
**

Karma: 0
: 73


« : December 04, 2012, 16:37:54 »

Zdravim vas vazeni kolegove

opet boj s awk

obracim se na vas s prosbou. Mam datovy soubor viz priloha. Chtel bych aby se pomoci awk (ci jineho nastroje) transponovaly sloupce za radky.

Tedy (kousek ze souboru):

,0,26.2,25.8
,0.00146666765213013,26.2,25.8
,0.0178500016530355,26.3,25.8
,0.0345333337783813,26.3,25.8
,0.0512166698773702,26.2,25.8
,0.0678666671117147,26.2,25.8
,0.0845333337783813,26.3,25.8
,0.10140000184377,26.3,25.8
,0.117866667111715,26.3,25.8
,0.134733335177104,26.3,25.8
,0.151233335336049,26.3,25.8
,0.167883336544037,26.3,25.8
,0.184766666094462,26.3,25.8
,0.20121666987737,26.3,25.8
,0.218099999427795,26.3,25.8
,0.234550003210704,26.3,25.8
,0.25140000184377,26.3,25.8
,0.268066668510437,26.3,25.8
,0.284750000635783,26.3,25.8
,0.301383336385091,26.3,25.8
,0.318066668510437,26.3,25.8
,0.334733335177104,26.3,25.8
,0.35140000184377,26.3,25.8


aby se transponovalo takto:
,0,0.00146666765213013,0.0178500016530355,0.0345333337783813,.....
,26.2,26.2,26.3,26.2,26.2,....
,0,0.00146666765213013,0.0178500016530355,0.0345333337783813,.....
,25.8,25.8,25.8,25.8.....


tedy aby prvni sloupec se prepsal do radku potom druhy sloupec do radku potom opet prvni a potom treti sloupec

zkousel jsem ruzne navody co jsou na internetu ale zatim neuspesne

v priloze posilam kousek datoveho souboru (jinak ma 17315 radku)

velmi vam dekuji za jakoukoliv pomoc ci nasmerovani

* data.dat (205.94 - 224 .)
Peťoš
Global Moderator
Hero Member
*****

Karma: 188
: 6 712



« #1 : December 04, 2012, 17:06:31 »

Sloupce jsou oddeleny cim, carkou? V tom pripade vidim jen 3 sloupce (resp. 4, ale 1. vlastne neexistuje). Kazdopadne budes potrebovat neco iteracniho.

Neco jako:

:
> /tmp/a.dat; for i in `seq 2 4`; do cat data.dat | awk -F ',' '{print $'$i'}' | tr '\n' ','  >> /tmp/a.dat ; done

Do it or do not. There is no "try".

Peťošův repozitář je na adrese: http://petos.cz/rpms
Fotoblog: http://vzducholode.blogspot.com a http://petos.cz/category/fotky
guus
Jr. Member
**

Karma: 0
: 73


« #2 : December 13, 2012, 16:31:55 »

Ahoj Petosi

diky za odpoved...zhruba ten tvuj skriptik funguje akorat  ze kdyz ho aplikuju na muj cely soubor dostanu viz priloha....ten treti sloupec se mi nedostane do radku...

diky za odpoved

* a.dat (198.78 - 201 .)
Peťoš
Global Moderator
Hero Member
*****

Karma: 188
: 6 712



« #3 : December 13, 2012, 17:26:12 »

Do jednoho radku? no, to se ani moc nedivim. Vsak to musi byt dlouhe jako... tyden pred vyplatou. Nebo nerozumim problemu.

Do it or do not. There is no "try".

Peťošův repozitář je na adrese: http://petos.cz/rpms
Fotoblog: http://vzducholode.blogspot.com a http://petos.cz/category/fotky
guus
Jr. Member
**

Karma: 0
: 73


« #4 : December 14, 2012, 12:51:36 »

Diky Petosi za konstruktivni odpoved

uz jsem na to prisel proc mi to ten posledni sloupec nechce vzit ...Tedy:

Data se sbirala pod system Win no a na konci kazdeho radku tam zanechal skryty symbol ^M

Pomoci prikazu tr -d '\r' <in.file>out.file jsem tento znak odstranil a uz to funguje...

Diky vsem
Peťoš
Global Moderator
Hero Member
*****

Karma: 188
: 6 712



« #5 : December 14, 2012, 13:07:29 »

Diky Petosi za konstruktivni odpoved

Ted si uplne nejsem jisty tou ironii ve tvem vzkazu... Kazdopadne pokud to pomohlo, jsem rad. Kazdoapdne fajn, ze jsi to vyresil

Do it or do not. There is no "try".

Peťošův repozitář je na adrese: http://petos.cz/rpms
Fotoblog: http://vzducholode.blogspot.com a http://petos.cz/category/fotky
: [1]
   |   
 
: