перемещать и нумеровать файлы с одинаковыми именами в новом каталоге - PullRequest
0 голосов
/ 25 мая 2018

У меня есть каталог с (большим количеством) подкаталогами типа

td.0000000
td.0000050
td.0000100
etc.

в каждом подкаталоге. У меня есть файл с именем "density.cube"

Я хочу переместитьвесь «density.cube» в новом подкаталоге «td»

td/density0000000.cube
td/density0000050.cube
td/density0000100.cube
etc.

или хотя бы

td/density.cube0000000
td/density.cube0000050
td/density.cube0000100
etc.

Как мне этого достичь?У меня есть база в bash и python, но этого явно недостаточно ...

спасибо!

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Вы можете использовать команду поиска.

find /your/path/here/to/the/parent/directory/that/has/all/the/folders -name density.* type f -exec cp {} /path/to/where/you/wanna/move/them +

-name соответствует имени файлов, которые вы хотите получить,

-type f соответствует только файлам, а не папкам с этимname

-exec позволяет вам выполнять любые команды с результатами

cp команда копирования в linux

{} подставлять результаты команды find (ваши файлы, которые соответствуют)

+ запускает эту команду exec для каждого соответствующего файла.

0 голосов
/ 25 мая 2018

этот скрипт bash должен вам помочь:

# create the td directory
mkdir td

# for every subdirectory of name td.*
for file in td.*
do
    # get its number
    number=$(echo $file | cut -d'.' -f 2)

    # and move the density.cube from that subdir to td with new name
    mv $file/density.cube td/density${number}.cube
done
...