Я проверил решение здесь , но оно не решает мою проблему слишком хорошо, потому что оно не использует специфическую структуру моего именования.
У меня есть коллекция файлов, перечисленных и названных систематически, например
Филеп-х
где x - это число, которое может быть довольно большим, а p - маркер для «макроколлекции». Я хотел бы скопировать все файлы в такой макроколлекции как шаблон и автоматически переименовать все файлы, скопированные как
fileq-х
Другими словами, есть ли возможность, что я могу автоматически заменять имена с помощью терминала (как это возможно во многих редакторах), не работая с дополнительными документами?
Заранее спасибо!
источник
for ... in ... done
команды, как написано, не могли выполняться должным образом, как вы указали,"$file"
но не назначены! Она должна быть"$f"
не"$file"
. Кроме того, вы пытаетесь переместить файл, который не существует, посколькуfor f in fileq-*
он должен бытьfor f in filep-*
. Существующие файлы имеютp
неq
ранее, чем-
в OP и должны бытьq
частью переименования. Если я ошибаюсь, то вашаsed
команда будет неправильной.fileq-
иfilep-
так же как между$file
и$f
(это случается со мной в половине моихbash
сценариев ... плохая привычка). - Обновлено.