Поиск по сайту:

Переименуйте файлы, не вводя полное имя дважды в Linux

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

mv <old_file_name> <new_file_name>

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

touch ostechnix1.txt
mv ostechnix1.txt ostechnix2.txt

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

Вот как мы переименовываем файлы с помощью команды mv в Linux. Приведенная выше команда переименует файл с именем "ostechnix1.txt" в "ostechnix2.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 для переименования файлов без двойного ввода полного имени

Здесь имя функции bash — mv. Вы можете выбрать любое другое имя по своему вкусу. Сохраните и закройте файл. А затем выполните следующую команду, чтобы изменения вступили в силу:

source ~/.bashrc

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

mv ostechnix1.txt

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

Переименуйте файлы, не вводя полное имя дважды в Linux

Как вы видите в приведенном выше выводе, я переименовал файл ostechnix1.txt в ostechnix2.doc. Очень удобно, правда?

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

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

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

Способ 1 — использование команды mv

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

mv ostechnix{1,2}.txt

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

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

mv IMG_20140210_{150415974,ostechnix}.jpg

Если вы не хотите переименовывать, но хотите иметь две копии одного и того же файла, используйте команду cp, как показано ниже:

cp ostechnix{1,2}.txt

Приведенная выше команда скопирует содержимое ostechnix1.txt в ostechnix2.txt. Теперь у вас должно быть два файла с одинаковым содержимым.

Способ 2. Использование сочетаний клавиш Readline (CTRL+w, CTRL+y и CTRL+y).

Мы можем использовать сочетания клавиш readline для быстрого переименования файла. Эти сочетания клавиш по умолчанию включены в основные оболочки. Команда CTRL+w вырежет последнее слово из команды, а клавиша CTRL+y вставит это слово в Терминал.

Переименуйте файлы, не вводя полное имя дважды, с помощью комбинаций клавиш readline

Как вы видите в приведенном выше выводе,

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

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

renameutils — это набор программ, предназначенных для быстрого и простого пакетного переименования файлов и каталогов. Renameutils состоит, среди прочего, из утилиты под названием "imv". Он позволяет интерактивно переименовывать имя файла.

Чтобы переименовать файл, выполните:

imv ostechnix1.txt

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

  • Как переименовать несколько файлов одновременно в Linux

Другие советы по Bash:

  • Как выполнить cd и ls одной командой
  • Как выполнить cp или mv и cd одной командой
  • Функция Bash для извлечения файловых архивов различных типов

Надеюсь это поможет.

Ресурс:

  • Суть GitHub

Статьи по данной тематике