Частенько появляются файлы с дублями. Удалить повторяющиеся слова средствами BASH - вот наша задача. Искать глазами повторяющиеся файлы - это долго и утомительно. Вы можете найти специальные сервисы для удаления дубликатов, но это решение не для нас. Логика нашего скрипта простая:
Рассмотрите текстовый файл file1.txt. В нем полно дублей.
#файл file1.txt с дублями
PHP
PHP
BASH
BASH
JAVASCRIPT
JAVASCRIPT
JAVASCRIPT
JAVASCRIPT
HTML
HTML
HTML
HTML
HTML
HTML
HTML
HTML
HTML
HTML
HTML
Теперь посмотрите на наш скрипт. Команда cat выполняет вывод информации на экран. sort | uniq - это сортировка и удаление дублей. Благодаря конструкции $() мы присваиваем переменной string результат выполнения утилиты cat. Подробнее о cat написано на странице как прочитать вывести содержимое файла в консоли cat tail head BASH. Благодаря команде tr мы выводим данные в виде списка, а не в одну строку. Ради интереса удалите в скрипте tr и посмотрите на результат. Читайте о утилите tr на странице как выполнить изменение регистра в именах файлов tr BASH. У вас получится одна строка с текстом.
#!/bin/bash
#чтение файла + сортировка
string=$(cat ./file1.txt | sort | uniq)
#запись результата в файл
echo $string | tr " " "\n" > file2.txt
Результат сортировки и удаления дублей
# файл file2.txt с отчётом
BASH
HTML
JAVASCRIPT
PHP