Рейтинг:1

Как найти и переименовать файлы с разными расширениями

флаг cn

У меня есть несколько файлов в такой папке:

ДУМАК011.618
ДУМАК011.619
ДУМАК011.620

Я хотел бы переименовать их в:

ДУМАЙ011.618
ДУМАЙ011.619
ДУМАИ011.620
Рейтинг:3
флаг in

Вы можете сделать это с ммв (Multi-Move), если вы сначала установите его:

sudo apt установить mmv

После установки вы можете сделать что-то вроде этого:

ммв ДУМАК\* ДУМАЙ\#1

Это переименует все файлы, начинающиеся с ДУМАК, оставив все потом и расширение нетронутым. Если вы владеете узоры из ракушек, вы можете сэкономить значительное количество времени с помощью этого инструмента.

Если вы хотите, вы можете узнать больше о силе ммв от документация.

Janchi Garcia avatar
флаг cn
Спасибо за это, но, поскольку файл повторялся / загружался каждый день в указанную папку, возможно ли иметь для этого сценарий bash, чтобы новые файлы автоматически переименовывались после обнаружения? Или это возможно только при ручном исполнении? Огромное спасибо заранее.
флаг in
Конечно, вы можете написать скрипт, который будет автоматически переименовывать файлы, если вы этого хотите. Сценарий можно было бы выполнять через регулярные промежутки времени с помощью задания cron, так как это потребует меньше ресурсов, чем наличие наблюдателя за файловой системой.
Janchi Garcia avatar
флаг cn
В данной командной строке он будет переименовывать только файлы, начинающиеся с DUMAK. Забыл упомянуть, но что, если есть другой файл, который также необходимо переименовать, например, HUMAK и SUMAK, могу ли я переименовать эти файлы за один раз (DUMAK, SUMAK и HUMAK)?
флаг in
Пока есть предсказуемый паттерн, да. Взгляните на шаблоны оболочки оболочки и то, как они расширяются. Это позволит вам переименовывать элементы соответственно.
флаг hr
... например, `mmv -n '?UMAK*' '#1UMAI#2'` или `mmv -n '*MAK*' '#1MAI#2'`
fuzzyTew avatar
флаг mg
Вы можете использовать `inotifywait` для ожидания новых файлов в папке. Однако это не входило в вопрос.
Рейтинг:3
флаг cn

Это может быть достигнуто в Bash с помощью одной строки:

для i в DUMAK011.6*; do mv "$i" "ДУМАЙ${i##ДУМАК}" ;готово
fuzzyTew avatar
флаг mg
Если вы используете bash, это хороший инструмент для вашего набора инструментов. Он подходит для многих других задач и не требует установки в системе ничего нового.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.