Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.03.2017
Сообщений: 24
1

Перенести совпадающие файлы

26.06.2020, 15:59. Показов 326. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть задачка
Имеется директория с файлами типа pack_*uid*.xml и zip, нужно отобрать совпадающие по uid'y файлы обоих типов и перенести в другую директорию. Подкиньте идей, как можно реализовать. diff?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.06.2020, 15:59
Ответы с готовыми решениями:

файлы.Создать файлы f и g, компонентами которых являются целые случайные числа. Записать в файл h все совпадающие компоненты файлов f и g.
Создать файлы f и g, компонентами которых являются целые случайные числа. Записать в файл h все...

Как сравнить две таблицы и совпадающие элементы перенести в другую таблицу
Помогите пожалуйста! ни как не могу сообразить! Необходимо написать макрос который сравнивает две...

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

Даны файлы f и g. Записать в файл h все начальные совпадающие компоненты файлов f и g
Даны файлы f и g. Записать в файл h все начальные совпадающие компоненты файлов f и g.

5
224 / 112 / 18
Регистрация: 27.09.2012
Сообщений: 575
26.06.2020, 17:40 2
diff используют для сравнения содержания файлов.
Вам надо найти все uid и потом перебрать все uid и сравнивать есть совпадающие файлы xml и zip.
Что то типа этого
Bash
1
2
3
4
5
6
7
8
9
#!/bin/bash
List=$(ls | egrep "pack_.*uid.*.[xml|zip]" | sed 's/.*uid\|\.[xml|zip].*//g' | uniq | tr '\n' ' ')
echo $List
for Num in $List
do
    if [[ `ls | egrep "pack_.*uid$Num.[xml]"` ]] && [[ `ls | egrep "pack_.*uid$Num.[xml]"` ]];then
        echo "Copy"
    fi
done
0
0 / 0 / 0
Регистрация: 16.03.2017
Сообщений: 24
26.06.2020, 17:51  [ТС] 3
Цитата Сообщение от kroniel Посмотреть сообщение
List=$(ls | egrep "pack_.*uid.*.[xml|zip]"

*uid* я имел в виду уникальное имя файл типа такого gd4252-262gss-22f..
0
224 / 112 / 18
Регистрация: 27.09.2012
Сообщений: 575
26.06.2020, 17:54 4
Типа pack_*gd4252-262gss-22f*.xml
0
0 / 0 / 0
Регистрация: 16.03.2017
Сообщений: 24
26.06.2020, 17:56  [ТС] 5
Цитата Сообщение от kroniel Посмотреть сообщение
Типа pack_*gd4252-262gss-22f*.xml
Да, pack_gd4252-262gss-22f.xml или pack_gd4252-262gss-22f.zip
0
224 / 112 / 18
Регистрация: 27.09.2012
Сообщений: 575
26.06.2020, 18:09 6
Bash
1
2
3
4
5
6
7
8
9
#!/bin/bash
List=$(ls | egrep "pack_.*.[xml]" | sed 's/.*pack_\|\.[xml].*//g' | uniq | tr '\n' ' ')
echo $List
for Num in $List
do
    if [[ `ls | egrep "pack_.*$Num.[xml]"` ]] && [[ `ls | egrep "pack_.*$Num.[zip]"` ]];then
        echo "Copy"
    fi
done
Добавлено через 5 минут
Что то типа такого. Дальше думаю сам.
List выделяет uid путём grep отбирает все файлы начинающиеся на pack_ и заканчивающиеся xml потом sed вычленяет uid путём удаления начала и конца файла и потом сортирует на уникальность удаляя совпадающие uid и потом заменяет переход строки на пробелы для цикла for.
В цикле берёт файлы в которых есть uid и если есть и xml и zip то типа можно копировать. Я вывожу слово Copy
1
26.06.2020, 18:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.06.2020, 18:09
Помогаю со студенческими работами здесь

Даны символьные файлы f и g . Записать в файл h все начальные совпадающие компоненты файлов f и g
Даны символьные файлы f и g. Записать в файл h все начальные совпадающие компоненты файлов f и g

Перенести файлы с 3 цифрами в имени
Перемещение файлов, в имении которых содержится больше трех цифр, в другой подкаталог. Искомый...

Appdata как перенести файлы?
У меня есть приложение. Для его работы нужна база и изображения. Все данные берутся из Application...

Копировать, перенести, удалить файлы в C++
Здравствуйте ребята, я новичок в С++, и мне нужен ваш совет, как профессиональных программистов. Я...

Перенести файлы программы в другое место
Суть в том, что есть программа (любая), есть её файлы в ProgramFiles. Можно ли сделать так, чтобы в...

Как перенести файлы и базу данных на хостинг
У меня ворпресс на локальном сервере стоит.Можно ли его базу данных и файлы перенисти на...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru