View previous topic :: View next topic |
Author |
Message |
anidabi Tux's lil' helper
Joined: 05 Feb 2005 Posts: 102 Location: Finland
|
Posted: Tue Aug 14, 2007 12:52 pm Post subject: Dataprosessointia, apua kaivataan, en vaan osaa! |
|
|
Pitäs mrtg:n logeista kentistä 2-5 leikata jokaiselta riviltä 3 viimeistä merkkiä. Tuli pilkkuvirhe asetusten kanssa ja tästä johtuen yksiköt päin persettä. Olen yrittänyt googlettaa, mutta en vaan löydä sellaista ohjetta että tajuan. Kentät pitäisi säilyttää yhtenäisenä ja ohjata ne dataprosessoinin jälkeen uuteen tiedostoon.
Alla esimerkki:
Code: |
Tästä pitäisi päästä
1186997100 422099094 106216147 422100992 107044864
1186996800 421531893 107042242 421568512 107044864
1186996500 421569017 106651989 421720064 106754048
1186996200 421720446 106755358 421777408 106950656
1186995900 421772219 106956554 421777408 10783539
Tähän
1186997100 422099 106216 422100 107044
1186996800 421531 107042 421568 107044
1186996500 421569 106651 421720 106754
1186996200 421720 106755 421777 106950
1186995900 421772 106956 421777 107835
|
Neuvoja kaivataan. _________________ How do you do the things you do... |
|
Back to top |
|
|
oizone n00b
Joined: 11 Feb 2004 Posts: 55 Location: Finland
|
Posted: Wed Aug 15, 2007 6:10 pm Post subject: |
|
|
Code: | gawk '{for(i=2;i<=5;i++) $i=substr($i,0,length($i)-3); print }' tiedosto |
Vaikka noin. |
|
Back to top |
|
|
Paapaa l33t
Joined: 14 Aug 2005 Posts: 955 Location: Finland
|
Posted: Wed Aug 15, 2007 10:03 pm Post subject: |
|
|
Tai sed:llä:
Code: | sed 's/\([^ ]* \)\([^ ]\{6\}\)[^ ]* \([^ ]\{6\}\)[^ ]* \([]\{6\}\)[^ ]* \([^ ]\{6\}\)[^ ]*/\1\2 \3 \4 \5/' tem |
Tuo ei oikeastaan katkaise 3 viimeistä, vaan säästää 6 ensimmäistä merkkiä. Jos nuo typistettävät kentät ovat 9-merkkisiä, tämä toimii oikein. _________________ Paludis, the way packages are meant to be managed. |
|
Back to top |
|
|
anidabi Tux's lil' helper
Joined: 05 Feb 2005 Posts: 102 Location: Finland
|
Posted: Thu Aug 16, 2007 5:45 pm Post subject: |
|
|
Paapaa wrote: | Tai sed:llä:
Code: | sed 's/\([^ ]* \)\([^ ]\{6\}\)[^ ]* \([^ ]\{6\}\)[^ ]* \([^ ]\{6\}\)[^ ]* \([^ ]\{6\}\)[^ ]*/\1\2 \3 \4 \5/' temp |
Tuo ei oikeastaan katkaise 3 viimeistä, vaan säästää 6 ensimmäistä merkkiä. Jos nuo typistettävät kentät ovat 9-merkkisiä, tämä toimii oikein. |
Tuolla lähti skulaan kunnolla, kiitos! _________________ How do you do the things you do... |
|
Back to top |
|
|
jmz2 Guru
Joined: 13 Jan 2004 Posts: 421 Location: Finland
|
Posted: Fri Aug 31, 2007 9:28 pm Post subject: |
|
|
Vähän myöhäinen vastaus, mutta myös awk hoitaisi homman, ja ehkä vähän yksinkertaisemmin: Code: | cat tiedosto | awk '{print $1 " " substr($2, 1, 6) " " substr($3, 1, 6) " " substr($4, 1, 6) " " substr($5, 1, 6) }' |
|
|
Back to top |
|
|
Shapemaker n00b
Joined: 22 Aug 2004 Posts: 64 Location: Finland
|
Posted: Sat Dec 08, 2007 11:38 am Post subject: |
|
|
Heh heh, Linuxilla on todellakin monta tapaa tehdä sama asia _________________ "Intellectual Property" should be an affront to anyone capable of independent thought. |
|
Back to top |
|
|
|