Полночь Командир-Множественный Выбор

в MC я могу скопировать имя текущего файла из списка файлов в консоль нажав Ctrl+введите.

предположим, я хочу скопировать несколько файлов в консоль. Пример: хотите создать *.zip с несколькими файлами:

zip new_zip.zip a.txt b.txt c.txt 231202fkfo3f.txt 

Я могу выбрать несколько файлов с Insert (или equiv. Ctrl+t). После этого я хочу использовать один ярлык для всех выбранных имен файлов, чтобы перейти прямо к консоли. Нечто как Ctrl+введите.

Каковы способы сделать это?

28
задан Jason Aller
27.03.2023 4:05 Количество просмотров материала 3087
Распечатать страницу

2 ответа

Если нажать Ctrl+x t, он вставит имена всех файлов, которые вы отметили Ctrl+t или вставить в командной строке.

3
отвечен jursetto 2023-03-28 11:53

аналогичное встроенное решение доступно из F2 меню пользователя. Это называется "сделать что-то на помеченных файлах", и запускает данную команду на файлах один за другим.

новые команды могут быть добавлены в это меню. Это немного хитрое решение, но оно сработало для меня. (Поддержка Subshell необходима.)

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

/etc/mc/mc.menu

мое решение основано на "сделать что-то на помеченных файлах". Я скопировал ее линии и изменены следующим образом:

+ t t
p       Put selected files to history
    set %t
    while [ -n "" ]; do
      STR="$STR \\"\\""
      shift
    done
    bash -ic "history -s $STR" > /dev/null

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

добавьте эти строки в mc.menu и помните о табуляции. Первая и вторая строки не имеют табуляции, а скрипт табулируется табуляциями. В противном случае mc не смог бы разобрать она.

после этого нужно выбрать несколько файлов и нажать F2. Нажмите вновь добавленные "поместить выбранные файлы в историю". Теперь они добавлены в историю, но ее нужно перечитывать, чтобы использовать. Нажмите Ctrl + O, и вы должны набрать history -r в командной строке. Наконец, вы найдете выбранные имена файлов, нажав до ключ.

альтернативное решение смогло быть использовано также. Возможно, проще просто распечатать строка в терминал, после чего ее можно скопировать-вставить. Следующий скрипт реализует это:

+ t t
p       Print selected files to subshell
    set %t
    while [ -n "" ]; do
      STR="$STR \"\""
      shift
    done
    echo "$STR"
1
отвечен szkj 2023-03-28 14:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх