1. Обучение
  2. /
  3. Курса
  4. /
  5. Introduction to Shell

Connected

упражнение

Jak odstraním duplicitní řádky?

Příkaz, který se často používá spolu s sort, je uniq. Jeho úkolem je odstranit duplicitní řádky – přesněji řečeno odstraní sousední duplicitní řádky. Pokud soubor obsahuje:

2017-07-03
2017-07-03
2017-08-03
2017-08-03

uniq vrátí:

2017-07-03
2017-08-03

Ale pokud soubor obsahuje:

2017-07-03
2017-08-03
2017-07-03
2017-08-03

uniq vypíše všechny čtyři řádky. Důvod je ten, že uniq je navržen pro práci s velmi velkými soubory. Aby mohl odstranit nesousední duplicity, musel by mít celý soubor v paměti (nebo alespoň všechny dosud zaznamenané jedinečné řádky). Odstraněním pouze sousedních duplicit si v paměti stačí uchovat jen poslední jedinečný řádek.

Инструкции

100 XP

Sestav pipeline, která:

  • získá druhý sloupec ze souboru seasonal/winter.csv,
  • odstraní z výstupu slovo "Tooth", aby se zobrazovaly pouze názvy zubů,
  • seřadí výstup tak, aby byly všechny výskyty daného názvu zubu sousední, a
  • zobrazí každý název zubu jednou spolu s počtem, kolikrát se vyskytuje.

Začátek pipeline je stejný jako v předchozím cvičení:

cut -d , -f 2 seasonal/winter.csv | grep -v Tooth

Rozšiř ho o příkaz sort a použij uniq -c k zobrazení jedinečných řádků s počtem výskytů – místo kombinace uniq a wc.