[ iirrffaann @ 06.01.2010. 15:13 ] @
| ovako:
imam jedan niz u .txt koji glasi:
Summe Tag : 01:53:51 00:39:45 00:53:42 00:05:39 00:14:45 i nastavak redova :
Login Tag :
Logoff Tag :
0,61
14:32:20
16:23:35
18 - Dez 103 3 11 5 1 123 0,61
potrebno mi je iz ovih podataka samo :
01:53:51 103 00:39:45 3 11 5 1 123 00:53:42 00:05:39 00:14:45 0,61
i tako se opet sve ponavljaju 1mil redova koje bih trebao rucno da prekucavam i trebalo bi mi jedno 1mil godina postoji li nacin da se preko notepad++ uradi skripta koja ce procitati .txt folder i uzeti sto mi treba???? |
[ Jbyn4e @ 06.01.2010. 18:16 ] @
Da imas linux, rekao bih ti sledece:
Code (bash):
grep 'Summe Tag' ulaz.txt > izlaz.txt
I u izlaz.txt bi imao sve sto te zanima...
A u Notepad++ ne znam. A i nemam vremena da gledam sad.
[ jablan @ 06.01.2010. 21:43 ] @
Uz pomoć rubija:
jablan@hape:~/dev$ ruby -ne 'puts $1 if $_ =~ /^Summe Tag : (.+)/' < in.txt
01:53:51 00:39:45 00:53:42 00:05:39 00:14:45
[ Jbyn4e @ 06.01.2010. 22:22 ] @
Hm, prevideo sam ovo 0,61 na kraju, kao i jablan...
Znaci tebi treba deo prve linije i cela cetvrta, pa onda? Kako tacno izgleda to sto imas? Da li se ove linije ponavljaju jedna za drugom ponovo?
U Notepad++-u koji si pominjao, pozicioniraj se na pocetak fajla, pokreni macro -> start recording.
Pritisni taster "END", pa strelicu desno. Drzi shift i pritisni strelicu dole dva puta (do pocetka 0,61).Pritisni taster DEL(ili Delete). Pritisni BACKSPACE (taster za brisanje unazad). Pritisni SPACE (razmak). Ponovo pritisni taster END i strelicu desno. Drzi shift i pritisni strelicu dole tri puta.Pritisni taster DEL. Otidji na macro, odaberi stop recording.
Dalje, sa ctrl+z (drzi taster ctrl i pritiskaj z) vrati stanje u originalno. Pozicioniraj se na pocetak fajla. Odaberi iz menija Macro -> Run a macro multiple times, oznaci Run until end of file i pritisni RUN.
Nakon toga ostaje ti samo da obrises "Summe Tag : ", sto se nadam da znas i sam (find/replace).
Nakon toga snimi fajl pod nazivom koji zelis i radi sa njim sta zelis.
Mislim da detaljnije od ovoga ne moze :)
[ Jbyn4e @ 06.01.2010. 22:28 ] @
Uh, opet pogresno. :(
Lose gledam - vidim da ti treba kombinacija prve i poslednje linije, sa premestenim pozicijama... hm...
Nece ipak biti tako lako, ali na gornji nacin bi mogao da ostavis sve u jednom redu, pa da onda ispremestas sta ti treba (awk u linux-u, ne znam alternativu pod windozama).
Tako da, sta je tu jednostavno (naziv teme)?
[ jablan @ 06.01.2010. 22:31 ] @
Ni ja ne kontam šta je hteo. U svakom slučaju deluje komplikovanije nego što smo na početku mislili, tj. priča "jednostavna skripta" ne pije vodu...
Nema veze, bar smo probali novi code tag ;)
[ Jbyn4e @ 06.01.2010. 22:36 ] @
^^
Ja da, ti ne :P
(sto se tice isprobavanja code taga)
P.S.
http://windows-powershell-scri...ent-in-windows-powershell.html
Linux:
Citat:
cat test.csv | awk -F, '{print $2}'
Windows PowerShell:
Citat:
Get-Content .\test.csv | %{ $_.Split(',')[1]; }
[ jablan @ 06.01.2010. 22:58 ] @
^ Dobijaš bambija za
nepotrebno znanje... ;)
[ niceness @ 09.01.2010. 11:41 ] @
Evo ja prilazem jedan gadan sed skript :)
Code:
#!/bin/sh
exec sed -n '
/Summe Tag :/{
h;n;n;n;n;n;n;H;x
s/\n/ /g
s/^Summe Tag : \(.*\) \(.*\) \(.* .* .*\) [0-9].*[a-z] \([0-9]*\) \([0-9] [0-9]* [0-9] [0-9] [0-9]*\) \(.*\)/\1 \4 \2 \5 \3 \6/
p
}' "$1"
$ cat test
Summe Tag : 01:53:51 00:39:45 00:53:42 00:05:39 00:14:45
Login Tag :
Logoff Tag :
0,61
14:32:20
16:23:35
18 - Dez 103 3 11 5 1 123 0,61
Summe Tag : 01:53:51 00:39:45 00:53:42 00:05:39 00:14:45
Login Tag :
Logoff Tag :
0,61
14:32:20
16:23:35
18 - Dez 103 3 11 5 1 123 0,61
$
$ ./sed.sh test
01:53:51 103 00:39:45 3 11 5 1 123 00:53:42 00:05:39 00:14:45 0,61
01:53:51 103 00:39:45 3 11 5 1 123 00:53:42 00:05:39 00:14:45 0,61
$
[ Jbyn4e @ 09.01.2010. 13:54 ] @
Uh, da je gadan - gadan je ;) Mada, ako imas \r\n ili samo \r u fajlu (zavisi gde je napravljen), nece bas najbolje raditi :( , ali lepo si se setio da obrises nove redove i preskocis linije, kao i da posle lepo izvrsis selektovanje i replace-ovanje. Potpuno sam zaboravio na neke od ovih opcija sed-a :)
E sad mu napisi skript za Notepad++ :)
Copyright (C) 2001-2024 by www.elitesecurity.org. All rights reserved.