Я все еще относительно новичок в Linux, так что будьте помягче с новичком, ладно?
У меня есть скрипты, настроенные на перемещение медиафайлов в определенный каталог на основе его имени. Я использовал подстановочный знак, чтобы добиться этого, но мне нужно сделать его более конкретным, чтобы он перемещал только то, что мне нужно.
Пример:mv /home/user/Downloads/*Horror* /home/user/Downloads/transmission/completed/Series/AHS/
Мне нужно узнать, можно ли включить несколько подстановочных знаков в одну команду перемещения. В предыдущем примере я хочу, чтобы скрипт переместил все эпизоды American Horror Story в каталог AHS. Скрипт работает, но если я загружу что-нибудь еще со словом 'horror', этот файл также будет перемещен.
Возможно ли то, о чем я спрашиваю, или есть какой-то другой метод, который мне следует использовать?
решение1
Попробуйте использовать подстановочный знак, например *American*Horror*
. Вы также можете использовать дополнительные подстановочные знаки в исходном пути, например /usr/home/D*/*American*Horror*
. В зависимости от того, что находится в вашем каталоге загрузок, простая последовательность символов, например, *A*H*
может соответствовать желаемым файлам.
Вы можете использовать сопоставление с образцом, например *[aA]merican*[hH]orror*
.
Я обычно либо повторяю команду, добавляя к ней префикс echo
, либо использую ls
файлы списков, соответствующие шаблону, перед запуском фактической команды. Это дает возможность настроить шаблон перед выполнением действия.