Portál AbcLinuxu, 28. března 2024 15:44
201002 008678 201003 013470 201004 008016 201005 004090 201005 004090 201006 008015Potreboval bych si udelat nejaky script, ktery ten soubor projde a odstrani duplicitni radky, ale jeden tam necha.(v teto ukazce 4 a 5 radek, jeden odstrani) s bashem teprve zacinam, ale tento problem potrebuju vyresi akutne, pokud mozno hned takze se obracim rovnou na abicko. Pomuze s tim nekdo? Dekuju
Řešení dotazu:
man uniq
?
sort -u
se ztrati puvodni poradi radku, tak to muzete resit treba takovou obezlickou ... kratce nastinim, nejprve si pridate cisla radku pres cat -n
, pomoci sort -u -k
si vyhazite duplicitni radky (s tim, ze nebudete brat v uvahu uvodni cisla radek - zaridite prave pres prepinac -k
) a pote uz jen setridite opet pres sort -n -k
jen podle uvodnich cisel radek (muzete je pripadne i vyhazet treba pouzitim sed
)
urcite k tomuto postupu pomuze precteni man sort
, man cat
, man sed
awk
to bude ve vysledku pracovat asi rychleji
nl filename | sort -k 2 | uniq -f 8 | sort -n | sed 's/^ *[0-9]\+ //'
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.