Самый быстрый способ переименовать файлы, не перепечатывая путь к каталогу

Обновление: это появляется новый vlc, который Вы устанавливаете, из deb-multimedia.org. На deb-мультимедийный FAQ необходимо отправить отчет об ошибках в marillat@free.fr.

Во-первых, необходимо сообщить об ошибке. Сожмите к Хрипящим обновлениям, должен работать без ошибок. Можно сделать это легко с reportbug vlc. Быстрый взгляд на список ошибки VLC не показывает его, поэтому сообщите. [Deb-мультимедийные пакеты должны быть настроены таким образом что reportbug должен обработать отправку отчета Christian Marillat непосредственно, вместо BTS Debian, автоматически. В противном случае можно сохранить отчет файлу и отправить его по почте вручную]

Ошибка жалуется, что у Вас в настоящее время есть пакет vlc-data установленный, который содержит файл /usr/share/doc/vlc, но новое vlc пакет также содержит тот файл. Таким образом, существует конфликт, который вызывает dpkg к ошибке. Скорее всего, хрипящая версия vlc-data больше не содержит этот файл (и специалисту по обслуживанию не удалось сказать dpkg ожидать эту ситуацию). Таким образом, меры:

  • Зарегистрируйте ошибку, ожидайте специалиста по обслуживанию для фиксации. Может требовать времени, конечно.
  • Попробуйте официальный пакет вместо deb-мультимедийных. Возможно затем обновите до deb-мультимедийных после того, как Ваша система будет обновлена к Хрипящему.
  • Попытайтесь обновить vlc-data во-первых, использование dpkg -i на нем (смотрят в/var/cache/apt/archives, .deb должен ли быть). Затем обновление vlc. Зависимости могут остановить Вас здесь, но в противном случае это будет работать (и очень безопасно сделать).
  • Удалить vlcvlc-data, и т.д.) полностью. Затем при переустановке их это будет устанавливать хрипящие версии вместо этого. Это может быть проблематично, если необходимо удалить много пакетов из-за зависимостей.
  • Скажите dpkg об ожидании этой ошибки, и продолжаться так или иначе. Использовать dpkg --force-overwrite -i устанавливать vlc (нет vlc-data). --force-overwrite ключевая вещь там. Это довольно безопасно, особенно в этой ситуации, где Вы вполне уверены ее просто файл, перемещаемый между двумя связанными пакетами (и ее/usr/share/doc, в конце концов).

Лично, когда я сталкиваюсь с этим после сообщения об ошибке, я использую упорядочивание (например, vlc-data сначала) или --force-overwrite.

57
08.02.2015, 17:43
6 ответов
[1183492] Если ваш корпус [1183774] поддерживал


Brace Expansion [1183777] (работает с [1183778]csh[1183779], [1183780]tcsh[1183781], [1183782]ksh[1183783], [1183784]zsh[1183785], [1183786]bash[1183787], [1183788]mksh[1183789], [1183790]lksh[1183791], [1183792]pdksh[1183793], [1183794]yash[1183795] с включенной функцией [1183796]brace-expand[1183797], позвонив по телефону [1183798]yash --brace-expand[1183799], или установив в интерактивную оболочку с набором [1183800]-o brace-expand[1183801], или [1183802]fish[1183803]):

105
27.01.2020, 19:32
[1183502] Вы также можете использовать [1183816] переименование[1183817] (часть пакета util-linux).

См. более подробную информацию на странице [1183818] переименования man[1183819].[1183505].

20
27.01.2020, 19:32
[1183506] Все вышесказанное хорошо. Это также сработает :

10
27.01.2020, 19:32
[1183486]Нет. Чтобы переименовать файл, нужно указать полный путь к файлу. Единственная альтернатива - это переместиться в целевую папку перед запуском [1183766]mv[1183767]:

Альтернативно можно записать небольшую функцию, которая переименовывает файл в целевую директорию. Например, добавьте эти строки в файл инициализации оболочки ([1183768]~/.bashrc[1183769], если вы используете [1183770]bash[1183771]):

Затем откройте новый терминал или просто запустите исходный файл [1183772]~/. bashrc[1183773], чтобы перечитать init-файл, и вы можете это сделать:

6
27.01.2020, 19:32
[1183494]Yes. Если вы используете [1183804]bash[1183805], вы делаете [1183806]sudo pushd ~/папка/подпапка/ && sudo mv ./file.txt ./file.sh && popd[1183807].

Что на самом деле больше и может не сработать, если вы потеряли права доступа к исходному каталогу, когда вы делали [1183808]popd[1183809].[1183497].

1
27.01.2020, 19:32

Просто чтобы расширить полезность ответа cuonglm (НЕ приписывать себе никаких заслуг, поскольку мне нравится его решение )и его ответ правильный.

Вариант использования заключается в том, что нам часто требуется mv файл в удаленном расположении (реальная проблема ), например. /folder/subfolder/configFile.dat TO configFile.dat.orig

Эта форма команды добавляет расширение файла (, не заменяя исходное расширение)

mv ~/folder/subfolder/file.txt{,.orig}

Объяснение :"{,.orig}" означает замену (ничего )в конце имени файла на (что-то )".orig"

ИЛИ для удалить расширение файла(отменить переименование)

mv ~/folder/subfolder/file.txt{.orig,}

Примечание :Все еще по теме «Самый быстрый способ переименовать файлы без повторного ввода пути к каталогу»

3
27.01.2020, 19:32

Теги

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