Некоторые из моих файлов находятся в неправильных каталогах, и я пытаюсь переместить их в нужное место.
пример:
каталог 20180622 будет содержать только имена файлов, имеющие в своем имени 20180622
если каталог 20180622 содержит файл с 20180623 в его имени, то это неуместный файл и должен перейти в соответствующий правильный каталог, а именно структура каталогов 20180623 исправлена (к счастью)
date1/a/b/someprefix.date1.somesuffix #no problem
date1/a/b/someprefix.date2.somesuffix # problem
date2/c/d/someprefix.date2.somesuffix # no problem
date2/e/f/someprefix.date3.somesuffix # problem
date1/a/b/someprefix.date1.somesuffix
date2/a/b/someprefix.date2.somesuffix # problem fixed
date2/c/d/someprefix.date2.somesuffix
date3/e/f/someprefix.date3.somesuffix #problem fixed
используя find . -type f
, я получаю список всех файлов, но не понимаю, как mv
правильно разместить файлы. someprefix
может быть чем угодно (также может содержать точку, поэтому вырезать - не лучший способ извлечь дату из имени файла) $f =~ (.*)(201[5-8][0-9][0-9][0-9][0-9][0-9])(.*)
- это то, что я пытаюсь извлечь из имени файла.
someprefix
иsomesuffix
одинаковы? - person choroba   schedule 23.06.2018.gz
. Я могу запустить несколько команд для всего набора некоторых префиксов, если есть решение с этим - person pythonRcpp   schedule 23.06.2018