Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/38: Рейтинг темы: голосов - 38, средняя оценка - 4.87
6 / 6 / 0
Регистрация: 28.11.2010
Сообщений: 28

Сравнение указанного файла ос всеми другими, имеющими такой же суфикс, с удалением совпадающих файлов

09.02.2011, 17:20. Показов 7227. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сравнение указанного файла ос всеми другими, имеющими такой же суфикс, с удалением совпадающих файлов.

Как это реализовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.02.2011, 17:20
Ответы с готовыми решениями:

Сравнение файлов перед удалением: по количеству или по имени файлов
Нужно что бы перед удалением файлов и папок произошло сравнение: или по количеству или по имени файлов. Пример по количеству: 18...

Сравнение файлов из двух директорий и вывод не совпадающих
Привет, друзья. Есть задание: 1 высветить файлы в директории temp и temp1 2 сравнить директории вывести файлы которые не совпадают: ...

Сравнение файлов построчно из списка с удалением отсутствующих строк
Доброго времени суток. Пользуюсь скриптом для CMD/BAT set fname=01.txt findstr /g:"02.txt" %fname% >log.tmp del %fname% move...

6
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
09.02.2011, 17:58
найти размер и md5sum первого файла и удалять те, у которых размер и сумма совпадают. Наверное, как-нибудь так.
0
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 25
13.02.2011, 11:15
у меня такой же вопрос.
не знаю как реализовать. если не сложно, помогите знающие люди!)
0
1 / 1 / 0
Регистрация: 05.03.2011
Сообщений: 19
09.03.2011, 06:25
Сравнение по содержимому файла или архива.

diff, patch

diff: очень гибкая утилита сравнения файлов. Она выполняет построчное сравнение файлов. В отдельных случаях, таких как поиск по словарю, может оказаться полезной фильтрация файлов с помощью sort и uniq перед тем как отдать поток данных через конвейер утилите diff. diff file-1 file-2 -- выведет строки, имеющие отличия, указывая -- какому файлу, какая строка принадлежит.

С ключом --side-by-side, команда diff выведет сравниваемые файлы в две колонки, с указанием несовпадающих строк. Ключи -c и -u так же служат для облегчения интерпретации результатов работы diff.

Существует ряд интерфейсных оболочек для утилиты diff, среди них можно назвать: spiff, wdiff, xdiff и mgdiff.
Tip

Команда diff возвращает код завершения 0, если сравниваемые файлы идентичны и 1, если они отличаются. Это позволяет использовать diff в условных операторах внутри сценариев на языке командной оболочки (см. ниже).

В общем случае, diff используется для генерации файла различий, который используется как аргумент команды patch. Ключ -e отвечает за вывод файла различий в формате, пригодном для использования с ed или ex.

patch: гибкая утилита для "наложения заплат". С помощью файла различий, сгенерированного утилитой diff, утилита patch может использоваться для обновления устаревших версий файлов. Это позволяет распространять относительно небольшие "diff"-файлы вместо целых пакетов. Распространение "заплат" к ядру стало наиболее предпочтительным методом распространения более новых версий ядра Linux.

patch -p1 <patch-file
# Применит все изменения из 'patch-file'
# к файлам, описанным там же.
# Так выполняется обновление пакетов до более высоких версий.



Наложение "заплат" на ядро:

cd /usr/src
gzip -cd patchXX.gz | patch -p0
# Обновление исходных текстов ядра с помощью 'patch'.
# Пример взят из файла "README",
# автор не известен (Alan Cox?).



Note

Кроме того, утилита diff в состоянии выполнять рекурсивный обход каталогов.

bash$ diff -r ~/notes1 ~/notes2
Only in /home/bozo/notes1: file02
Only in /home/bozo/notes1: file03
Only in /home/bozo/notes2: file04




Tip

Утилита zdiff сравнивает сжатые, с помощью gzip, файлы.
diff3

Расширенная версия diff, которая сравнивает сразу 3 файла. В случае успеха возвращает 0, но, к сожалению, не дает никакой информации о результатах сравнения.

bash$ diff3 file-1 file-2 file-3
====
1:1c
This is line 1 of "file-1".
2:1c
This is line 1 of "file-2".
3:1c
This is line 1 of "file-3"




sdiff

Сравнение и/или редактирование двух файлов перед объединением их в один файл. Это интерактивная утилита, по своей природе, и из-за этого она довольно редко используется в сценариях.
cmp

Утилита cmp -- это упрощенная версия diff. В то время, как diff выводит подробную информацию об имеющихся различиях, утилита cmp лишь показывет номер строки и позицию в строке, где было встречено различие.
Note

Подобно команде diff, команда cmp возвращает код завершения 0, если файлы идентичны и 1, если они различны. Это позволяет использовать команду cmp в условных операторах.

Пример 12-30. Пример сравнения двух файлов с помощью cmp.

#!/bin/bash

ARGS=2 # Ожидаются два аргумента командной строки.
E_BADARGS=65
E_UNREADABLE=66

if [ $# -ne "$ARGS" ]
then
echo "Порядок использования: `basename $0` file1 file2"
exit $E_BADARGS
fi

if [[ ! -r "$1" || ! -r "$2" ]]
then
echo "Оба файла должны существовать и должны быть доступны для чтения."
exit $E_UNREADABLE
fi

cmp $1 $2 &> /dev/null # /dev/null -- "похоронит" вывод от команды "cmp".
# cmp -s $1 $2 даст тот же результат ("-s" -- флаг "тишины" для "cmp")
# Спасибо Anders Gustavsson за замечание.
#
# Также применимо к 'diff', т.е., diff $1 $2 &> /dev/null

if [ $? -eq 0 ] # Проверка кода возврата команды "cmp".
then
echo "Файл \"$1\" идентичен файлу \"$2\"."
else
echo "Файл \"$1\" отличается от файла \"$2\"."
fi

exit 0

Tip

Для работы с gzip файлами используется утилита zcmp.
comm

Универсальная утилита сравнения. Работает с отсортированными файлами.

comm -options first-file second-file

comm file-1 file-2 -- вывод в три колонки:

*

колонка 1 = уникальные строки для file-1
*

колонка 2 = уникальные строки для file-2
*

колонка 3 = одинаковые строки.



Ключи, подавляющие вывод в одной или более колонках.

*

-1 -- подавление вывода в колонку 1
*

-2 -- подавление вывода в колонку 2
*

-3 -- подавление вывода в колонку 3
*

-12 -- подавление вывода в колонки 1 и 2, и т.д.


Если надо сравнить по имени то уточните, имя должно указыватся как параметр или скрипт должен брать файлы по очереди в системе или папке и искать совпадения ?
0
1 / 1 / 0
Регистрация: 28.03.2010
Сообщений: 25
09.03.2011, 16:35
имя должно задаваться как параметр

Добавлено через 6 часов 44 минуты
фу. не по имени. %)

там берутся файлы ведь чисто с одинаковым суффиксом.
0
1 / 1 / 0
Регистрация: 05.03.2011
Сообщений: 19
10.03.2011, 02:05
Ну надо реализовать что-то типа find / -type f -o -name *sufix -exec rm -f {} \;
если удалять не все файлы надо то нужно вывести результат поиска в файл сначала а потом задать параметр как их удалять, скажем кроме первого.
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
10.03.2011, 03:51
find / -type f -o -name *sufix -exec rm -f {} \;
а если в каком-нибудь каталоге, который не относится к заданию, есть такие файлы ?
и вообще зачем там -o ?

furby, ты эту команду не выполняй, можешь стереть что-нибудь не то
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.03.2011, 03:51
Помогаю со студенческими работами здесь

Вставить число к между всеми соседними элементами, имеющими одинаковый знак
Здравствуйте! Прошу помочь. Есть задание: вставить число К между всеми соседними элементами, имеющими одинаковый знак.новый массив не...

Вставить число к между всеми соседними элементами, имеющими одинаковый знак
Вставить число к между всеми соседними элементами, имеющими одинаковый знак (массив заполнен случайными числами )

Вставить новый элемент между всеми парами элементов, имеющими разные знаки
В одномерном массиве целых чисел вставить новый элемент между всеми парами элементов, имеющими разные знаки. Пожалуйста, используйте циклы...

Вставить ноль между всеми соседними элементами массива, имеющими разный знак
Вставить ноль между всеми соседними элементами массива имеющими разный знак

Вставьте в заданный массив элемент X между всеми соседними элементами, имеющими разные знаки
Дан одномерный массив (из N элементов), элементы которого - целые числа, не равные нулю. Также дано целое число X. Вставьте в заданный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru