[ 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:

[email protected]:~/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++ :)