Создание wget переименовывает существующие имена файлов нормально

На самом деле оказалось два ответа.

Предупреждение: Я относительно новичок в Linux, и я не разработчик / программист любого рода. Это, вероятно, покажется детской забавой, и в этом случае его можно бесплатно удалить.

  1. Я исправил ошибку в исходном файле, исправив { на \ { (@thrig имел небольшую ошибку в своем комментарии к основному сообщению, что привело меня к та же ошибка перед ее исправлением, как показано здесь).
  2. После этого был указан другой файл по адресу /usr/share/perl5/Biber/Input/file/bibtex.pm с аналогичной ошибкой. Затем исправление этой ошибки позволяет мне скомпилировать все нормально.

Что меня все еще сбивает с толку, так это то, почему он обозначил именно эти левые скобки; в этих файлах есть бесчисленные левые фигурные скобки, которые не экранированы, но я предполагаю, что такой тип деталей находится у меня над головой.

1
05.08.2018, 20:00
2 ответа

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

Редакторы vim, emacsиnano(и, возможно, большинство других )могут быть настроены на добавление резервного суффикса к именам файлов (по умолчанию ~в этих трех ). Редактор потока sedможет выполнять редактирование в месте -и в то же время создавать резервную копию оригинала, используяsed -i.suffix(добавит .suffixв конец имени файла ). Утилиты GNU mvи cpмогут создавать резервные копии с разной степенью сложности, но всегда добавляя суффикс в конец имени файла. Аналогичным образом rsyncможет добавлять суффикс к файлам перед заменой оригинала обновленным файлом. и т. д.

Добавление номера резервной копии в середине имени файла проблематично, не в последнюю очередь потому, что имена файлов могут быть любой строкой, не содержащей /. Например, куда можно поместить резервный номер в file.tar.gzили myfile.7, если не в конце?

2
27.01.2020, 23:31

Хотя после загрузки вы могли просто

perl-rename -i "s/(.*)(\.extension)(\.[0-9]+)$/\1\3\2/" *

для любой доступной версии rename.

При perl-renameиспользуйте параметр -i, чтобы избежать перезаписи -существующих файлов. Используйте -nдля пробного запуска.

2
27.01.2020, 23:31

Теги

Похожие вопросы