UltKit

Odstranit duplicitní řádky

Vložte seznam a každý řádek, který se opakuje po svém prvním výskytu, bude odstraněn. Zbývající řádky si zachovají původní pořadí. Při porovnávání lze ignorovat velikost písmen i nadbytečné mezery a vše probíhá přímo ve vašem prohlížeči.

0 znaků · 0 slov · 0 řádků

0 znaků · 0 slov · 0 řádků

Vše běží přímo v této záložce prohlížeče. Váš text se nikam nenahrává ani neukládá.

Co dělá

Odstranění duplicitních řádků ponechá první výskyt každého řádku a další opakování vyřadí, přičemž původní pořadí zůstane. Porovnávání může ignorovat velikost písmen i okolní mezery a prázdné řádky lze ponechat nebo odstranit.

Před
červená
modrá
Červená
zelená
Po
červená
modrá
zelená

Kdo odstraňuje duplicity ze seznamů a proč

Duplicitní řádky vznikají všude, kde se slučují seznamy. Marketér spojí dva exportované seznamy e-mailů, výzkumník nasbírá klíčová slova z několika nástrojů, vývojář shromáždí adresy URL z logů, učitel vloží jména ze tří přihlašovacích formulářů: každý skončí se záznamy, které se objevují dvakrát i vícekrát. Duplicity umí odstranit i tabulkový procesor, ale znamená to otevřít soubor, vybrat sloupec a najít správnou nabídku. Vložit text do pole je rychlejší, pokud už data máte ve schránce.

Zachování původního pořadí je důležitější, než by se zdálo. Seznam kroků, žebříček nebo adresy URL v pořadí, v jakém byly procházeny, po seřazení ztratí smysl. Tady první výskyt zůstane přesně tam, kde byl, a pozdější opakování se prostě vynechají. Počítadlo ukazuje, kolik řádků bylo odstraněno, takže poznáte, zda je výsledek věrohodný.

Jak porovnávání funguje a na co neviditelné rozdíly

Každý řádek se zredukuje na porovnávací klíč a při čtení seznamu shora dolů se ukládá do množiny. Řádek, jehož klíč už v množině je, je duplicita. Stačí jeden průchod, takže i seznamy se stovkami tisíc řádků se zpracují rychle. Liší se to také od klasického unixového příkazu uniq, který odstraňuje jen duplicity na sousedních řádcích, a proto se obvykle spouští po sort, čímž se ztratí původní pořadí. Idiom awk '!seen[$0]++' dělá totéž, co tento nástroj.

Dva řádky mohou vypadat stejně a přesto se lišit. Mezera na konci, tabulátor místo mezery nebo nezlomitelná mezera zkopírovaná z webové stránky způsobí, že je počítač považuje za různé řetězce. Zapněte ořezávání, aby se ignorovaly mezery na obou koncích každého řádku, včetně nezlomitelných mezer. Vypněte rozlišování velkých a malých písmen, aby se „Paris“ a „paris“ braly jako stejný záznam; zachová se první nalezený zápis. Prázdné řádky můžete ponechat, aby zůstaly oddělené odstavce, nebo je úplně odstranit.

Co dělat po vyčištění

Seznam bez duplicit často potřebuje další krok, řazení: Seřadit řádky ho umí seřadit abecedně, přirozeně nebo podle délky. Pokud seznam pochází z PDF nebo e-mailu s rozbitými řádky, nejprve je opravte pomocí dalších textových nástrojů, protože záznam rozdělený na dva řádky se nemůže shodovat se svým nerozděleným dvojčetem.

Často kladené otázky

Který výskyt duplicitního řádku zůstane zachován?
První z nich. Každý další řádek se stejným obsahem se odstraní a zbylé řádky zůstanou v původním pořadí, takže se nic nepřeházuje.
Proč se neodstraní dva řádky, které vypadají stejně?
Liší se neviditelným způsobem, nejčastěji mezerou na konci, tabulátorem nebo nezlomitelnou mezerou. Zapněte ořezávání mezer, nebo ignorujte velikost písmen, pokud se liší jen ta.
Čím se to liší od příkazu uniq?
uniq vynechá řádek, jen když se opakuje řádek těsně nad ním, proto se obvykle kombinuje s sort. Tento nástroj najde opakování kdekoli v textu a zachová původní pořadí.
Mohu duplicity odstranit a seznam zároveň seřadit?
Nejprve tady odstraňte duplicity a výsledek vložte do nástroje Seřadit řádky. Ve dvou krocích si můžete ponechat pořadí prvního výskytu, když ho potřebujete, a řadit jen tehdy, když chcete.