Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Проблема между командами не выполняется прописанный переход  (Прочитано 621 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DewCooper

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Приветствую всех! Я решил воспользоватся утилитой sort на UBUNTU для проверки дубликатов значении в нескольких тестовых файлов. Для этого я прописал заранее команды и запустил в консоле сразу четыре команды, но к сожалению команда зависла на file12.txt и не переходит дальше по прописанной команде. Хотя в файле file04 и file08 проверка прошла, но на file12 зависла.
Очень хотел бы разобраться почему происходит это зависание? Просто у меня очень много файлов для дальнейших проверок на дубликаты значении во множествах файлов. Можно ли эти команды вложить в Bash-скрипт и в итоге обойти эти проблемные зависание переходов между командами?


sort file01.txt file02.txt file03.txt | uniq -d > file04.txt
sort file05.txt file06.txt file07.txt | uniq -d > file08.txt
sort file09.txt file10.txt file11.txt | uniq -d > file12.txt
sort file13.txt file14.txt file15.txt | uniq -d > file16.txt


Оффлайн qpdb

  • Забанен
  • Активист
  • *
  • Сообщений: 628
  • xUbuntu 22.04
    • Просмотр профиля
Если файлы в одной директории, то тогда можно так (один из 1001 способа :)
Все данные будут перемещены в итоговый файл 21Apr02.txt.
Потом не нарушая структуру файла т.е. последовательность записей будут удалены дубликаты из итогового файла 21Apr02.txt

Код: (sh) [Выделить]
cat *.txt > 21Apr02.txt ; awk -i inplace '!($0 in a) {a[$0];print}' 21Apr02.txt
Если последовательноcть записей в файлах не важна тогда вот так можно:
Код: (sh) [Выделить]
cat *.txt | sort | uniq -d > DONE.txt
Скорее всего можно  упростить до
Код: (sh) [Выделить]
cat *.txt | sort -u > 21Apr02.txt

 

Страница сгенерирована за 0.015 секунд. Запросов: 22.