Portál AbcLinuxu, 12. května 2025 12:53
awk
, sort
a uniq -d
vypsat příslušné položky, ale bohužel právě jenom ty položky, nikoliv celý řádek. Řádků bude nejvýše 2200 a budou dlouhé max 150 znaků.
Řešení dotazu:
ahoj, prase, jsi, tu? nazdar, prase, nejsem. běžela, liška, polem tahle, liška, je, mazanáTj. když se v souboru vyskytují řádky se stejnou druhou položkou, tak je vypsat. Jde mi o to zjistit jestli, a které takové jsou. Taky by se dalo říct, že je potřeba soubor "seřadit podle druhé položky", pak "
uniq -d
taky podle druhé položky", ale tak, aby se vypsal celý řádek, nikoliv jenom druhá položka.
uniq
to prostě neumí, neměl jsem to zmiňovat.
sort -t, -k2
seřadí ten soubor, ale vypíše ho celý. Já bych rád vypsal jenom ty řádky, jejichž druhé pole není v souboru unikátní.
cut -d";" -f4 soubor.csv | grep prase
běžela," červená, malá a ""drzá"" liška", zoraným, polem tahle," červená, malá a hubatá liška", je, mazaná.jsou dva záznamy o čtyřech sloupcích, takže parser řádku musí být trochu „chytřejší“.
pomoci napr. "awk, sort a uniq -d" ziskate jednotlive polozky, potom holt "man join".
Marekcsvfix unique -f 3 -d
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.