Portál AbcLinuxu, 7. července 2025 16:30
707120200 100.000000 137.750000 100.000000 707120200 100.000000 140.400000 100.000000 707120200 100.000000 145.887500 100.000000 707120300 100.000000 150.762500 100.000000 707120400 100.000000 154.350000 100.000000 707120400 100.000000 153.675000 100.000000 707120500 100.000000 148.162500 100.000000 707120500 100.000000 149.212500 100.000000 707120500 100.000000 155.762500 100.000000 707120600 100.000000 164.425000 100.000000 707120700 100.000000 167.962500 100.000000 707120700 100.000000 165.062500 100.000000 707120800 100.000000 161.075000 100.000000 707120800 100.000000 158.725000 100.000000 707120800 100.000000 157.800000 100.000000tak aby se vzdy vzal jen radek u ktereho je hodnota v prvnim sloupci poprve. To znamena, ze radky u kterych je cislo v prvnim sloupci rovno cislu predchoziho radku v prvnim sloupci se smaznou (odfiltruji). No a takoveto filtrovani probiha jen v urcitem rozmezi radku. Udelal jsem neco takoveho:
awk 'BEGIN{D=707120200; while(D!=707120800){if ($1 == D){print $0} D=D+100;}}' ir2_100.txt > ir2d_100.txtScript sice vybere spravne rozmezi podle (od 707120200 az 707120800) urcene cyklem, ale nasklada tam i ty radky, u kterych se cislo prvniho sloupce uz opakuje. Predpokladam, ze je to zpusobeno tim, ze awk projede proste cely soubor a vybere radky kde se $1=D (tedy i ty u kterych se hodnota prvniho sloupce opakuje...) a az po tom pricte D=D+100. Je mozne nejak udelat aby se hodnota D zvysila o 100 po kazdem radku? To by snad vyresilo cely muj problem. Pokud mate uplne jine reseni tak se mu vubec nebranim. Dekuji.
awk '{D=707120200; while(D!=707120800){if ($1 == D){print $0} D=D+100}}' ir2_$th.txt > ir2d_$th.txtTakze bez begin, s tim to neslo.
head
a tail
. A na výpis unikátních řádků uniq -u
, případně s parametrem -w
. Ale nic z toho není awk
user@dendrit:~$ cat subor 707120200 100.000000 137.750000 100.000000 707120200 100.000000 140.400000 100.000000 707120200 100.000000 145.887500 100.000000 707120300 100.000000 150.762500 100.000000 707120400 100.000000 154.350000 100.000000 707120400 100.000000 153.675000 100.000000 707120500 100.000000 148.162500 100.000000 707120500 100.000000 149.212500 100.000000 707120500 100.000000 155.762500 100.000000 707120600 100.000000 164.425000 100.000000 707120700 100.000000 167.962500 100.000000 707120700 100.000000 165.062500 100.000000 707120800 100.000000 161.075000 100.000000 707120800 100.000000 158.725000 100.000000 707120800 100.000000 157.800000 100.000000 user@dendrit:~$ awk '($1==707120300),($1==707120800){if(first != $1)print;first=$1;}' subor 707120300 100.000000 150.762500 100.000000 707120400 100.000000 154.350000 100.000000 707120500 100.000000 148.162500 100.000000 707120600 100.000000 164.425000 100.000000 707120700 100.000000 167.962500 100.000000 707120800 100.000000 161.075000 100.000000
awk '{if ($1 > 707120000 && $1 < 707200000) print $0;}' ir2_110.txt > ir2_temporary_110.txt awk '{if(first != $1)print;first=$1;}' ir2_temporary_110.txt > ir2_temporary2_110.txt awk '{print("0"$0)}' ir2_temporary2_110.txt > ir2d_110.txt rm -f ir2_temporary*_110.txt
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.