Форум программистов, компьютерный форум, киберфорум
Ubuntu, Mint Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.06.2018
Сообщений: 8
1

Небходимо составить команду для вырезания файлов под Linuix

08.06.2018, 19:44. Показов 1093. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

Прошу помощи, и желательно, объяснить как дурочку ))

Есть VDS под Linux (CentOS 6), нужно немного изменить структуру фалов

Я совсем ничего не понимаю даже в элементарных командах, прошу помощи в написании команды, как мне кажется не очень сложной. Сам сижу уже часов 14

Вообщем, есть структура файлов:

Жирным выделены постоянные пути

/protected/shop/products/31/22/2231/images/452/8934789.jpg

нужно вытащить все файлы из конечной папки (в примере "452") и переложить их в images, т.е. на уровень выше.

в итоге дожно получиться примерно так

/protected/shop/products/31/22/2231/images/8934789.jpg
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2018, 19:44
Ответы с готовыми решениями:

Закачка файлов посредством просмотра HTML кода и вырезания адреса
Здравствуйте! Мне нужно сделать программу на МАН. Я решил сделать программу, которая спрашивает у...

Собираю команду для работы под андроид!
Собираю команду для создания и дальнейшего продвижения онлайн игры под систему Android....

Ищу команду для разработки мобильного приложения под iOS, Android для App Store, Google Play
Приветствую! Ищу разработчика и дизайнера мобильных приложений под iOS и Android в проект...

перебор файлов и для отправке в команду
Уважаемые коллеги, доброго дня. Прошу помощи. Есть программа PDF2TXT которая конвертирует pdf в...

8
Эксперт NIX
3330 / 748 / 252
Регистрация: 28.06.2015
Сообщений: 1,543
Записей в блоге: 16
08.06.2018, 21:36 2
Лучший ответ Сообщение было отмечено Евгений__777 как решение

Решение

Bash
1
cd /protected/shop/products/31/22/2231/images/452
нажмите клавишу <enter>
Bash
1
mv * ..
и еще раз нажмите клавишу <enter>

Добавлено через 7 минут
После такой команды необходимо всего один раз нажать <enter>
Bash
1
mv /protected/shop/products/31/22/2231/images/{452/*,}
Добавлено через 48 минут
Bash
1
echo /protected/shop/products/*/*/*/images/*/*.jpg | while read d; do mv $d ${d%/*/*}; done
1
0 / 0 / 0
Регистрация: 08.06.2018
Сообщений: 8
08.06.2018, 21:47  [ТС] 3

cd /protected/shop/products/31/22/2231/images/452

нажмите клавишу <enter>


mv * ..
и еще раз нажмите клавишу <enter>
Спасибо До этого то я сам допер бы легко ))) У меня примерно 100 000 папочек ))



После такой команды необходимо всего один раз нажать <enter>
mv /protected/shop/products/31/22/2231/images/{452/*,}


echo /protected/shop/products/*/*/*/images/*/*.* | while read d; do mv $d ${d%/*/*}; done
Буду пробовать
0
Эксперт NIX
3330 / 748 / 252
Регистрация: 28.06.2015
Сообщений: 1,543
Записей в блоге: 16
08.06.2018, 21:55 4
Евгений__777, Может следует тогда заменить do mv... на do echo $d; echo ${d%/*/*}; done раз такое дело ))
1
0 / 0 / 0
Регистрация: 08.06.2018
Сообщений: 8
08.06.2018, 21:57  [ТС] 5
Тут я уже не знаю ))
0
Эксперт NIX
3330 / 748 / 252
Регистрация: 28.06.2015
Сообщений: 1,543
Записей в блоге: 16
08.06.2018, 22:21 6
Лучший ответ Сообщение было отмечено Евгений__777 как решение

Решение

Bash
1
find /protected/shop/products/*/*/*/images/*/ -type f -name "*.jpg" | while read d; do mv $d ${d%/*/*}; done
1
0 / 0 / 0
Регистрация: 08.06.2018
Сообщений: 8
09.06.2018, 04:17  [ТС] 7
Цитата Сообщение от nezabudka Посмотреть сообщение
Bash
1
find /protected/shop/products/*/*/*/images/*/ -type f -name "*.jpg" | while read d; do mv $d ${d%/*/*}; done
Разрешения фоток ток разные у меня

Bash
1
find /var/www/www-root/data/www/xn--b1agjqvi.xn--p1ai/wa-data/protected/shop/products/*/*/*/images/*/ -type f -name "*.*" | while read d; do mv $d ${d%/*/*}; done


Работает! Я Вас люблю!!!!

0
0 / 0 / 0
Регистрация: 08.06.2018
Сообщений: 8
09.06.2018, 04:37  [ТС] 8
Почему то вылезают ошибки. Инх не много, и вполне реально поправить руками.
Миниатюры
Небходимо составить команду для вырезания файлов под Linuix  
0
Эксперт NIX
3330 / 748 / 252
Регистрация: 28.06.2015
Сообщений: 1,543
Записей в блоге: 16
09.06.2018, 09:19 9
Не помойму в чем ошибка. для разных расширений лчше делать так, может из за этого и ошибка
или возможно файл с таким именем уже находится в директории image/
Цитата Сообщение от Евгений__777 Посмотреть сообщение
-type f -name "*.*"
Bash
1
-type f -regex ".*\.jpg\|.*\.png\|.*\.bmp"
или
Bash
1
-type f -name "*.jpg -o -name "*.png" -o -name "*.bmp"
Добавлено через 3 минуты
Bash
1
-type f -name "*.[jpb][pnm][gp]"
0
09.06.2018, 09:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2018, 09:19
Помогаю со студенческими работами здесь

Подскажите команду для архивирования батником только файлов
В папке с названием &quot;Файлы&quot; лежат вордовские документы. Задача: Сделать архив этих документов, но...

Сколькими способами можно составить команду из трех человек, выбирая ее членов, из четырех супружеских пар, но так, чтобы супруги не входили в команду
Сколькими способами можно составить команду из трех человек, выбирая ее членов, из четырех...

Составить команду из четырёх лучших бегунов для участия в эстафете
Даны числа a1, a2, …, aN. Это результаты N спортсменов в беге на 100 метров. Составить команду из...

Набираю команду для написания небольшой noSQL СУБД под Unix совместимые системы на С
Всем привет! Я собираю небольшую команду(2-4 человека) для написания небольшой noSQL СУБД под Unix...

Код для вырезания формы
Есть один очень интерестный способ вырезания формы. Берется рисунок, например у него будет фон...

Регулярка для вырезания адреса
Здравствуйте. Подскажите, пожалуйста, регулярку для вырезания адреса сайта. Адрес может...


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

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