🐧 [Bash советы] Переименование файлов без ввода полного имени дважды в Linux

by itisgood
В этом кратком руководстве объясняется, как переименовывать файлы, не вводя полное имя дважды в операционных системах Linux.
Как мы все уже знаем, мы используем команду mv для переименования файлов в Linux.
Чтобы переименовать файл, команда будет такой:
$ mv <старый файл> <новый файл>

Позвольте мне показать вам пример.

$ touch itisgood1.txt
$ mv itisgood1.txt itisgood2.txt

Вот как мы переименовываем файлы с помощью команды mv на Linux.

Приведенная выше команда переименует файл с именем «itisgood1.txt» в «itisgood2.txt».

Как видите, мы вводим имена файлов два раза в приведенной выше команде.

Однако это не обязательно.

Мы можем легко переименовать файлы в Linux с помощью команды mv, не вводя имена файлов два раза, с помощью простой функции BASH.

Как переименовать файлы без двойного ввода имени на Linux

Отредактируйте файл ~/.bashrc в вашем любимом редакторе:

$ nano ~/.bashrc

Добавьте следующие строки в конце файла:

# Bash Function To Rename Files Without Typing Full Name Twice
function mv() {
  if [ "$#" -ne 1 ] || [ ! -e "$1" ]; then
    command mv "$@"
    return
  fi

  read -ei "$1" newfilename
  command mv -v -- "$1" "$newfilename"
}

Здесь имя функции bash – mv.

Вы можете выбрать любое другое имя.

Сохраните и закройте файл.

А затем выполните следующую команду, чтобы изменения вступили в силу:

$ source ~/.bashrc

Отныне вы можете указать только оригинальное имя файла и переименовать файл, как показано ниже.

$ mv itisgood1.txt

Используйте клавиши со стрелками для перемещения букв или нажмите клавишу Backspace, чтобы удалить все буквы и введите новое имя для файла.

Не только имя файла, вы также можете переименовать расширение файла.

Это буквально похоже на нажатие клавиши F2 и переименование файла в графическом интерфейсе.

Другие способы переименования файлов без ввода полного имени дважды


Есть также несколько других способов переименовать файл без необходимости вводить полное имя два раза.

Способ 1 – с помощью команды mv

Помимо метода функции BASH, здесь есть еще один простой способ переименования файлов с помощью команды mv.

Нам даже не нужна функция BASH.

Используйте следующую однострочную команду для быстрого переименования файла:

$ mv itisgood{1,2}.txt

Приведенная выше команда скопирует файл с именем itisgood1.txt в itisgood2.txt.

Вот еще один пример. Следующая команда переименует IMG_20140210_150415974.jpg в IMG_20140210_itisgood.jpg.

$ mv IMG_20140210_{150415974,itisgood}.jpg
Если вы не хотите переименовывать, но хотите иметь две копии одного и того же файла, используйте команду cp, как показано ниже:
$ cp itisgood{1,2}.txt
Приведенная выше команда скопирует содержимое файла itisgood1.txt в файл itisgood2.txt.
Теперь у вас должно быть два файла с одинаковым содержимым.

Метод 2 – Использование сочетаний клавиш readline (CTRL + w, CTRL + y и CTRL + y)

Мы можем использовать сочетания клавиш, чтобы быстро переименовать файл.

Эти сочетания клавиш поставляются с основными оболочками по умолчанию.

Команда CTRL + w обрезает последнее слово команды, а клавиша CTRL + y вставляет это слово в терминал.

Сначала я набираю «mv itisgood1.txt».
Во-вторых, я нажимаю CTRL + y, чтобы вырезать последнее слово, то есть itisgood1.txt.
В-третьих, я нажимаю CTRL + y, чтобы вставить последнее слово.
Наконец, я нажимаю CTRL + y еще раз, чтобы вставить то же слово, а затем переименовать его.

Способ 3 – Использование «imv» из renameutils

Renameutils – это набор программ, предназначенных для более быстрого и простого переименования файлов и каталогов.

Renameutils содержит среди прочих утилиту под названием «imv».

Позволяет интерактивно переименовывать имя файла.

$ imv itisgood1.txt
Система отобразит указанное выше имя файла в Терминале.
Отредактируйте имя файла так, как вам нравится, и нажмите ENTER, чтобы переименовать его.
 

Loading

You may also like

2 комментария

Alex 02.06.2020 - 16:17

Спасибо!

Reply
itisgood 02.06.2020 - 17:27

Всегда рады! 🙂

Reply

Leave a Comment