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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Изменить скрипт на perl  (Прочитано 302 раз)

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

Оффлайн DemonSylar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Изменить скрипт на perl
« : 05 Июнь 2016, 12:07:45 »
Здравствуйте, на просторах интернета
(Нажмите, чтобы показать/скрыть)
нашел скрипт:
(Нажмите, чтобы показать/скрыть)
С приблизительно таким вызовом:
(Нажмите, чтобы показать/скрыть)
Суть в том, что скрипт делает контрольную сумму каждого файла, а мне нужно это сделать для файлов с определенным расширением, допустим *.conf
Вызов для проверки по полученной контрольной сумме:
(Нажмите, чтобы показать/скрыть)
В скриптах вообще не разбираюсь, срочно понадобилось, мои попытки успехом не увенчались - ошибки в синтаксисе.
Огромное спасибо всем, кто ответит.

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 5665
  • elementaryOS 0.4 Loki, i3wm on Debian9
    • Просмотр профиля
Re: Изменить скрипт на perl
« Ответ #1 : 05 Июнь 2016, 20:11:38 »
А давайте Вы начнете «с головы»: что именно Вы хотите сделать и чем не устраивает функционал md5sum?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Cxms

  • Активист
  • *
  • Сообщений: 407
    • Просмотр профиля
Re: Изменить скрипт на perl
« Ответ #2 : 05 Июнь 2016, 23:18:11 »
В терминале:
Создание контрольных сумм md5 для файлов .conf в текущей директории и во всех поддиректориях:
find ! -path ./HASHSUMS ! -empty -type f -name "*.conf" -exec md5sum {} + | sort -k2 > HASHSUMSДля всех файлов: убрать (-name "*.conf")

Проверка контрольных сумм (находясь в этой же директории):
md5sum --quiet -c HASHSUMSБудут выведены только ошибки или несовпадения контрольных сумм.
Если ничего не выведет - все ОК.

Оффлайн spk-ubuntu

  • Активист
  • *
  • Сообщений: 502
    • Просмотр профиля
Re: Изменить скрипт на perl
« Ответ #3 : 06 Июнь 2016, 19:28:26 »
в первом приближении:
Цитировать
sub wanted {
    next unless (-f $name);
    next unless ($name =~ /\.conf$/);
    ...
}

Оффлайн DemonSylar

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Изменить скрипт на perl
« Ответ #4 : 06 Июнь 2016, 21:03:03 »
В терминале:
Создание контрольных сумм md5 для файлов .conf в текущей директории и во всех поддиректориях:
find ! -path ./HASHSUMS ! -empty -type f -name "*.conf" -exec md5sum {} + | sort -k2 > HASHSUMSДля всех файлов: убрать (-name "*.conf")

Проверка контрольных сумм (находясь в этой же директории):
md5sum --quiet -c HASHSUMSБудут выведены только ошибки или несовпадения контрольных сумм.
Если ничего не выведет - все ОК.

А по каким параметрам файлов вычисляется контрольная сумма? Просто не хотелось бы, чтобы он ругался на два одинаковых по содержанию файла.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 14927
  • Я не слышу.
    • Просмотр профиля
Re: Изменить скрипт на perl
« Ответ #5 : 06 Июнь 2016, 21:17:43 »
а не.

WINDOWS-1250 на UTF-8 ?
~.o

Оффлайн Cxms

  • Активист
  • *
  • Сообщений: 407
    • Просмотр профиля
Re: Изменить скрипт на perl
« Ответ #6 : 07 Июнь 2016, 00:38:01 »
DemonSylar,
Цитировать
А по каким параметрам файлов вычисляется контрольная сумма?
1. Исключая сам файл с контрольными суммами HASHSUMS (! -path ./HASHSUMS)
   Нужно если обрабатыватся все файлы (без параметра -name).
2. Исключая пустые (! -empty)
3. По имени *.conf (-name "*.conf")

Цитировать
Просто не хотелось бы, чтобы он ругался на два одинаковых по содержанию файла.
Без разницы сколько дубликатов файлов и одинаковых контрольных сумм.


Пользователь добавил сообщение 07 Июнь 2016, 00:50:21:
Так же можно испльзовать и другие алгоритмы, заменив md5sum на:
sha1sum
sha224sum
sha256sum
sha384sum
sha512sum

Для справки смотреть: man команда
« Последнее редактирование: 07 Июнь 2016, 01:07:50 от Cxms »

 

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