powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Скрипт для разноса файлов по каталогам
12 сообщений из 12, страница 1 из 1
Скрипт для разноса файлов по каталогам
    #34409386
Добрый вечер, господа.
В UNIX я новичок.
Поэтому прошу помочь с решением задачи.

Задача такая.
Есть директория, в к-рой лежат

1) каталог со следующей структурой

Код: plaintext
1.
2.
3.
4.
5.
2005
...
012005 <...> 122005
...
01012005...31012005 <...> 01122005...31122005

Т. е. каталог год (2005),
к-рый содержит подкаталоги месяцы (012005, ..., 122005),
к-рые в свою очередь содержат подкаталоги дни (01012005, ..., 31012005 и т. д.)

2) куча файлов с именами а-ля NAME_ 050917 110803_8160.0282

Т. е. первые 6 цифр после символа подчёркивания обозначают

год_месяц_день.




Нужно: распихать файлы по соответствующим каталогам.

Просьба помочь написать соответствующий shell-скрипт.

Заранее спасибо :)
...
Рейтинг: 0 / 0
Скрипт для разноса файлов по каталогам
    #34409459
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
капитан Криштабан...

неее так не пойдет, направление дать можно а писать что-то, заплатите в кассу...
вообще для такой задачи лучше всего подойдет perl, а не шелл, т.к. тебе нужно юзать регексп и mv.

основной частью скрипта являеццо

0. открытие каталога (opendir)
1. написание корректного регекспа для выявления подстроки содержащей месяц и год. (man perlre)
2. перемещение в каталог с именем месяцгод (mv)
3. цикл с этим readdir)


все! читай маны и пиши
...
Рейтинг: 0 / 0
Скрипт для разноса файлов по каталогам
    #34409504
Thanks.

Попробую всё же Shell-ом извернуться :)
...
Рейтинг: 0 / 0
Скрипт для разноса файлов по каталогам
    #34409514
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
капитан КриштабанThanks.

Попробую всё же Shell-ом извернуться :)

тогда пиши скрипт на awk, шелл как таковой не приспособлен к регекспу
...
Рейтинг: 0 / 0
Скрипт для разноса файлов по каталогам
    #34409580
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да тут можно cut обойтись, необязательно регэксп юзать.
...
Рейтинг: 0 / 0
Скрипт для разноса файлов по каталогам
    #34409591
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlДа тут можно cut обойтись, необязательно регэксп юзать.

пример можно?
...
Рейтинг: 0 / 0
Скрипт для разноса файлов по каталогам
    #34412995
A. Fig Lee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ося DocAlДа тут можно cut обойтись, необязательно регэксп юзать.

пример можно?
man tr
...
Рейтинг: 0 / 0
Скрипт для разноса файлов по каталогам
    #34413005
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A. Fig Lee Ося DocAlДа тут можно cut обойтись, необязательно регэксп юзать.

пример можно?
man tr

вы во-первых отвечаете на вопрос заданный не вам, во-вторых отвечаете не требуемым примером, а `man tr` не имеющим ничего общего с вопросом, засим предлагаю вам либо быстро ответить примером решения задачи с помощью tr, либо молча свалить пить пиво
...
Рейтинг: 0 / 0
Скрипт для разноса файлов по каталогам
    #34413029
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ося DocAlДа тут можно cut обойтись, необязательно регэксп юзать.

пример можно?
Код: plaintext
1.
2.
%echo 'filename_050917110803_8160.0282' | cut -f2 -d'_'| cut -b1- 6 
 050917 
...
Рейтинг: 0 / 0
Скрипт для разноса файлов по каталогам
    #34413031
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAl Ося DocAlДа тут можно cut обойтись, необязательно регэксп юзать.

пример можно?
Код: plaintext
1.
2.
%echo 'filename_050917110803_8160.0282' | cut -f2 -d'_'| cut -b1- 6 
 050917 


согласен

ЗЫ че то про байтовый сдвиг забыл...
...
Рейтинг: 0 / 0
Скрипт для разноса файлов по каталогам
    #34413045
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У, кстати, наверное, лучше не -b, а -с, вдруг в консоли юникод.
...
Рейтинг: 0 / 0
Скрипт для разноса файлов по каталогам
    #34413264
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-нить такое

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#!/bin/sh

for i in NAME*
do
 yy= 20 `echo $i | cut -c  6 - 7 `
 mm=`echo $i | cut -c  8 - 9 `
 dd=`echo $i | cut -c  10 - 11 `
 cmd="cp $i $yy/$mm$yy/$dd$mm$yy/"
 $cmd
done
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Скрипт для разноса файлов по каталогам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]