Помощь в создании пользовательского действия Nemo

Вопрос или проблема

Я пытаюсь добавить пользовательскую команду в Nemo (Linux Mint). У меня есть следующий скрипт, который я запускаю через терминал (путем ручного изменения директорий):

ls | cat -n | while read n f; do mv "$f" "$n.jpg"; done

Цель заключается в том, чтобы взять каждый файл в папке (все изображения) и массово переименовать их в последовательном порядке (1.jpg, 2.jpg и т.д.). Открывать терминал в каждой папке и затем запускать команду сложно, поэтому я хочу добавить пользовательскую команду в Nemo. Я пробовал следующий файл .nemo_action:

    [Nemo Action]

Name=Последовательное Переименование

Comment=Последовательное Переименование Всех Файлов В Папке

Exec=ls | cat -n | while read n f; do mv "$f" "$n.jpg"; done

Icon-Name=Terminal

Selection=s

Extensions=dir;

К сожалению, я столкнулся с проблемой, что команда, похоже, выполняется в папке моего пользователя, переименовывая мои папки Документы, Музыка, Видео, Картинки и Загрузки в 1.jpg, 2.jpg и т.д.

У кого-нибудь есть решение для этого? В идеале я хочу кликнуть правой кнопкой мыши на папку и нажать эту кнопку действия, чтобы она выполнялась.

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

Таким образом, ваше действие nemo будет содержать строку:
Exec=CustomScript.sh %F

Ответ или решение

Создание пользовательского действия в Nemo для массового переименования файлов

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

Шаг 1: Создание скрипта

Первым делом необходимо создать Bash-скрипт, который будет содержать ваши команды для переименования файлов. Давайте создадим файл CustomScript.sh с необходимым содержимым. Откройте ваш терминал и выполните следующие команды:

cd ~
nano CustomScript.sh

После открытия редактора вставьте следующий код:

#!/bin/bash

# Перейти в указанную директорию
cd "$1" || exit

# Переименовывание файлов
ls | cat -n | while read n f; do mv "$f" "$n.jpg"; done

Сохраните файл и выйдите из редактора (CTRL+X, затем Y и ENTER, если вы используете nano).

Шаг 2: Сделать скрипт исполняемым

Для того чтобы ваш скрипт можно было выполнять, необходимо изменить его разрешения:

chmod +x ~/CustomScript.sh

Шаг 3: Создание пользовательского действия в Nemo

Теперь давайте создадим пользовательское действие для Nemo. Для этого вам нужно создать файл .nemo_action. Выполните команду:

nano ~/.local/share/nemo/actions/sequential_rename.action

После открытия редактора вставьте следующий код в файл:

[Nemo Action]
Name=Sequential Rename
Comment=Sequentially Rename All Files In Folder
Exec=/home/yourusername/CustomScript.sh %F
Icon-Name=terminal
Selection=dir;
Extensions=dir;

Не забудьте заменить yourusername на ваше имя пользователя, например, если ваше имя пользователя — Alex, строка должна выглядеть так:

Exec=/home/Alex/CustomScript.sh %F

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

Шаг 4: Использование пользовательского действия

Теперь, когда все настроено, вы сможете использовать ваше новое действие. Откройте Nemo, выберите папку с изображениями, щелкните правой кнопкой мыши и выберите опцию «Sequential Rename».

Скрипт автоматически выполнится в контексте выбранной папки, и все файлы будут переименованы в формате 1.jpg, 2.jpg и так далее.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...