голосование
PHP
Javascript
BASH
HTML
Firebird
Программы
Хостинг
Майнинг
Ресурсы
GIT
SEO
Oracle
Python
Проголосуйте за категорию!
счётчик
Яндекс.Метрика

Как удалить дубли из файла при помощи BASH

Частенько появляются файлы с дублями. Удалить повторяющиеся слова средствами BASH - вот наша задача. Искать глазами повторяющиеся файлы - это долго и утомительно. Вы можете найти специальные сервисы для удаления дубликатов, но это решение не для нас. Логика нашего скрипта простая:

  • Читаем файл file1.txt
  • Сортируем данные
  • Удаляем дубликаты
  • Записываем данные в файл с переносом строки \n

Рассмотрите текстовый файл 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
просмотры: 430, уровень: лёгкий уровень, рейтинг: 0, дата: 2017-11-24 16:41:02
проголосовать:

Комментарии:






поиск
сайты друзей
банеры
домен RU всего за 99 рублей
http://www.2domains.ru домен RU домен RU всего за 99 рублей
http://trainingweb.ru/redirect/well_web_vps_kvm Аренда VPS KVM в Европе Мы предлагаем в аренду VPS серверы с выделенным IP-адресом, которые полностью эмулируют физический сервер.
http://ping-admin.ru/index_5659.html мониторинг сайтов сервис мониторинга работы сайта, мониторим HTTP, HTTPS, FTP, MYSQL, PostgreSQL, POP3, SMTP, IMAP