Re: txt filebol sorok kivalogatasa
János Korponai írta: Udvozlet Mindenkinek, Egy hosszu txt-filebol szeretnem minden negyedik sort kiszedni, hogy azokat dolgozzam fel a tovabbiakban. Hogyan lehet megoldani? Nem vagyok jartas ilyen temaban. Kedves János! Az awk-t és a kezdő listát javasolnám neked erre. De mondjuk én így csinálnám: cat file | awk '{if(NR%4==0) print $0}' Biztos van ennél elegánsabb megoldás is, de reggel van még. _ linux lista - linux@mlf.linux.rulez.org http://mlf2.linux.rulez.org/mailman/listinfo/linux
Re: txt filebol sorok kivalogatasa
On Tue, Jun 05, 2012 at 08:18:39AM +0200, János Korponai wrote: Udvozlet Mindenkinek, Egy hosszu txt-filebol szeretnem minden negyedik sort kiszedni, hogy azokat dolgozzam fel a tovabbiakban. Hogyan lehet megoldani? Nem vagyok jartas ilyen temaban. Koszonom, -- Dr. Janos Korponai Egy favágó megoldás: cat file | while read a read b read c read d; do echo $d; done Ha nagyon számítanak a sorelején levő szóközök, előtte kell egy export IFS='\n' is. -- PTG Documentation: Instructions translated from Swedish by Japanese for English speaking persons. Debian Lenny _ linux lista - linux@mlf.linux.rulez.org http://mlf2.linux.rulez.org/mailman/listinfo/linux
Re: txt filebol sorok kivalogatasa
On 06/05/2012 08:18 AM, János Korponai wrote: Egy hosszu txt-filebol szeretnem minden negyedik sort kiszedni, hogy azokat dolgozzam fel a tovabbiakban. Hogyan lehet megoldani? Nem vagyok jartas ilyen temaban. perl -n -e '$.%4==0 and print' infile outfile De ez nem különbözik lényegesen az awk megoldástól. Csak a teljesség kedvéért közlöm. :-) g -- A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? _ linux lista - linux@mlf.linux.rulez.org http://mlf2.linux.rulez.org/mailman/listinfo/linux
Re: txt filebol sorok kivalogatasa
Kovács Attila ka...@l3.hu írta (2012. június 5. 11:17): 2012.06.05. 10:25 keltezéssel, Kiss Gabor írta: Csak a teljesség kedvéért közlöm. :-) g Jajj de szépek lettek :). Csak a teljesség kedvéért, hogy miért a sed mellett törnék lándzsát :). ls -laH `which awk sed perl python` -rwxr-xr-x 1 root root 55324 2010-11-16 11:14 /bin/sed -rwxr-xr-x 1 root root 98536 2010-01-14 17:53 /usr/bin/awk -rwxr-xr-x 2 root root 1220276 2011-04-26 18:21 /usr/bin/perl -rwxr-xr-x 1 root root 2375356 2011-04-11 21:14 /usr/bin/python Mindegyiknek szüksége van a libc-re, ami közel két nagyságrenddel nagyobb, mint a sed és az awk binárisa... _ linux lista - linux@mlf.linux.rulez.org http://mlf2.linux.rulez.org/mailman/listinfo/linux
Re: txt filebol sorok kivalogatasa
On 6/5/2012 12:45 PM, Attila Rajmund Nohl wrote: Kovács Attilaka...@l3.hu írta (2012. június 5. 11:17): 2012.06.05. 10:25 keltezéssel, Kiss Gabor írta: Csak a teljesség kedvéért közlöm. :-) g Jajj de szépek lettek :). Csak a teljesség kedvéért, hogy miért a sed mellett törnék lándzsát :). ls -laH `which awk sed perl python` -rwxr-xr-x 1 root root 55324 2010-11-16 11:14 /bin/sed -rwxr-xr-x 1 root root 98536 2010-01-14 17:53 /usr/bin/awk -rwxr-xr-x 2 root root 1220276 2011-04-26 18:21 /usr/bin/perl -rwxr-xr-x 1 root root 2375356 2011-04-11 21:14 /usr/bin/python Mindegyiknek szüksége van a libc-re, ami közel két nagyságrenddel nagyobb, mint a sed és az awk binárisa... Sizes of busybox-1.19.4 and busybox-1.20.0 (with equivalent config, static uclibc build): textdata bss dec hex filename 840348 4737508 848329 cf1c9 busybox-1.19.4/busybox 843717 4737500 851690 cfeea busybox-1.20.0/busybox _ linux lista - linux@mlf.linux.rulez.org http://mlf2.linux.rulez.org/mailman/listinfo/linux
Re: txt filebol sorok kivalogatasa
On 06/05/2012 09:35 AM, Erki-Kiss Zsolt wrote: sed -n '1~4p' Van egy kis gond! Ez nem minden negyedik sort szedi elõ, hanem az elsõt, és _azután_ minden negyediket. Helyesen sed -n '4~4p' Én is erre szavazok egyébként. :) g _ linux lista - linux@mlf.linux.rulez.org http://mlf2.linux.rulez.org/mailman/listinfo/linux
Re: txt filebol sorok kivalogatasa
On 06/05/2012 01:14 PM, Magosányi Árpád wrote: Igazából meg szerintem egy ilyen feladatnál a végrehajtási idő számít, és méretlenbe azt mondom, hogy a sed-et senki nem fogja ebben a feladatban megverni. Azért a Perl nem sokkal marad le (-: $ time for a in `seq 1 100`; do echo $a ;done /dev/null real0m16.828s user0m16.377s sys 0m0.596s $ time for a in `seq 1 100`; do echo $a ; done | sed -n '4~4p' /dev/null real0m24.939s user0m22.937s sys 0m7.224s $ time for a in `seq 1 100`; do echo $a ; done | perl -n -e '$.%4==0 and print' /dev/null real0m26.905s user0m26.818s sys 0m8.733s g _ linux lista - linux@mlf.linux.rulez.org http://mlf2.linux.rulez.org/mailman/listinfo/linux
Re: txt filebol sorok kivalogatasa
2012.06.05. 14:22 keltezéssel, Kiss Gabor írta: ati@$ time perl -n -e '$.%4==0 and print' ff /dev/null real0m0.864s user0m0.836s sys0m0.016s ati@$ time sed -n '4~4p' ff /dev/null real0m0.319s user0m0.296s sys0m0.020s Előtte az ff legenerálva offcz. Persze hogy nem volt nagy difi, ha a csőbe lassan megy be a cumó. -- k-atti- _ linux lista - linux@mlf.linux.rulez.org http://mlf2.linux.rulez.org/mailman/listinfo/linux
Re: txt filebol sorok kivalogatasa
2012-06-05 14:22 keltezéssel, Kiss Gabor írta: On 06/05/2012 01:14 PM, Magosányi Árpád wrote: Igazából meg szerintem egy ilyen feladatnál a végrehajtási idő számít, és méretlenbe azt mondom, hogy a sed-et senki nem fogja ebben a feladatban megverni. Azért a Perl nem sokkal marad le (-: $ time for a in `seq 1 100`; do echo $a ;done /dev/null real0m16.828s user0m16.377s sys 0m0.596s $ time for a in `seq 1 100`; do echo $a ; done | sed -n '4~4p' /dev/null real0m24.939s user0m22.937s sys 0m7.224s $ time for a in `seq 1 100`; do echo $a ; done | perl -n -e '$.%4==0 and print' /dev/null real0m26.905s user0m26.818s sys 0m8.733s imho kicsi a fájl, és a sorok zöme azonos hosszúságú. # dd if=/dev/urandom bs=1M count=100 | base64 | sed 's/[ABC]/\n/g' nagyfile.txt # time perl -n -e '$.%4==0 and print' nagyfile.txt /dev/null real0m3.425s user0m3.352s sys 0m0.068s # time sed -n '4~4p' nagyfile.txt /dev/null real0m1.454s user0m1.396s sys 0m0.052s Na, itt látszik az igazi különbség. _ linux lista - linux@mlf.linux.rulez.org http://mlf2.linux.rulez.org/mailman/listinfo/linux