Форум русскоязычного сообщества Ubuntu


Автор Тема: Midnight Commander - как удалить расширение файла при переименовании?  (Прочитано 1759 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vovchok

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
Достало уже - почему F6 *. не убирает расширение у имени файла/директории??? Убогий немощный Гугл не знает ответа на этот банальный вопрос!!! Как в линуксе убираются расширения переименованием файла в mc не набирая желаемое имя полностью вручную? Почему F6 *.bak добавляет расширение, а F6 *. не убирает его? Как это сделать???

Оффлайн F12

  • Администратор
  • Старожил
  • *
  • Сообщений: 4372
    • Просмотр профиля

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6658
  • 20% Cooler
    • Просмотр профиля
Потому что паттерн * - это имя файла уже с расширением.
Как вы из одного символа собрались удалять четыре - большой вопрос.  :idiot2:

Под вашу задачу нужно использовать F2 - @
что-то вроде

rename '.bak' ''
« Последнее редактирование: 18 Ноября 2021, 19:08:42 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн qpdb

  • Активист
  • *
  • Сообщений: 618
  • xUbuntu 22.04
    • Просмотр профиля
Приветствую!

Если вопрос, конечно, принципиальный, то долго изучая документацию mc можно, наверное, будет подойти к решению вопроса :idiot2:

Может стоит пойти по альтернативному пути? Во всяком случае рассмотреть возможности альтернативных вариантов…

find . -maxdepth 1 -type d,f,l -name "*.txt*" -exec rename -n "s:\.txt:.TXT:" {} \; | nl
Можно сделать alias нечто вроде этого:
(Нажмите, чтобы показать/скрыть)

2021 Nov 18; 12:12 PM
Рекомендую ознакомиться с современной трактовкой темы „collective responsibility and the state”, а также темами сопряжёнными с этой… В современных реалиях это может оказаться полезным…

Оффлайн Domitory

  • Активист
  • *
  • Сообщений: 565
    • Просмотр профиля
Вроде понял что надо

Спросите у гугла как в MC  копировать и переименовывать по маске. Может быть это то что вам подойдет.

При копировании предлагает указать с какой маской копировать файл
Если в строке "Копировать файл с исходным шаблоном" например указать шаблон
?????
то при копировании файлов в качестве новых имен будут подставлены только первые пять символов исходных имен. Таким образом можно будет отсечь расширение у файлов, но проблема что имена у файлов разной длины.

Что касаемо вашего случая

в качестве исходного шаблона задаем

*.*

Таким образом мы указываем что по шаблону имя файла делится на две части с разделителем точкой.
Первая часть то что до точки, собственно само имя файла без расширения. Вторая часть то что после точки, то есть расширение.

В качестве имени в строке назначения указываем  такой шаблон

\1

Этим мы задаем что в качестве финального имени используем только первую часть имени. Таким образом получим новые файлы без расширений.

вроде все просто.


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

Например шаблон
*L*.*
поделит имя файла Ubuntu-Linux.txt на три части по букве "L" и "."

чтобы в имени назначения исключить расширение с точкой нужно будет указать
\1L\2

тогда получим файл  Ubuntu-Linux

Если в назначении перетусовать части местами то они поменяются местами в новом имени, главное при этом не забывать про то что разделители будут исключены из имени если их не подставить


« Последнее редактирование: 18 Ноября 2021, 23:55:35 от Domitory »

Оффлайн vovchok

  • Автор темы
  • Участник
  • *
  • Сообщений: 186
    • Просмотр профиля
паттерн * - это имя файла уже с расширением
если mc создавали как подобие досовского нортона, то в досе имя с расширением это *.*, а *. - это имя без расширения и именно оно меня интересует - что ввести после нажатия F6, чтобы в результате переименования файла/каталога у него убралось расширение (т.е. все, что после последней точки, раз уж линукс допускает больше, чем одну точку в имени...)?

А то добавить расширение в mc по маске можно, а для того, чтобы его убрать, приходится грузить thunar или вбивать имя полностью, что весьма напряжно...


Пользователь добавил сообщение 19 Ноября 2021, 14:18:04:
в качестве исходного шаблона задаем *.*
кажись разобрался... я на верхнюю строчку, которая "исходный шаблон" вообще ни разу за 10 лет использования mc не обращал внимания, т.к. ни в каких других командерах её нет... Спасибо за подсказку!
« Последнее редактирование: 19 Ноября 2021, 14:18:04 от vovchok »

Оффлайн jurganov

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
причем тут DOS??
Даже в консили ищем аналога винды?

Оффлайн Usermaster

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 2507
    • Просмотр профиля
Как в линуксе убираются расширения переименованием файла в mc не набирая желаемое имя полностью вручную?
shift+F6

Оффлайн Domitory

  • Активист
  • *
  • Сообщений: 565
    • Просмотр профиля

Оффлайн Usermaster

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 2507
    • Просмотр профиля
Даст изменение имени файла без переписывания полностью всего имени, можно расширение например стереть не записывая всё имя заново.
Так понятней?
Человек спросил, я ответил. Чтоб было видно к какой части вопроса это относится я специально приожил цитату.

Оффлайн Domitory

  • Активист
  • *
  • Сообщений: 565
    • Просмотр профиля
так понятней?

Нажимаю Shift+F6  и не вижу что оно чем то отличается от просто F6 или Esc+6, также необходимо использовать шаблоны

Пользователь добавил сообщение 23 Ноября 2021, 09:41:23:
Понял в чем отличие SHIFT+f6 от просто F6 или ESC+6

При нажатии SHIFT+F6 будет выполнено просто переименование файла и он останется в том же каталоге где и был, для этого не надо будет на обоих панелях MC открывать один и тот же каталог. Вот и все отличие.
С шаблонами все тоже самое остается.
« Последнее редактирование: 23 Ноября 2021, 09:42:25 от Domitory »

Оффлайн Usermaster

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 2507
    • Просмотр профиля
При нажатии SHIFT+F6 будет выполнено просто переименование файла и он останется в том же каталоге где и был

Нет, во второй строке будет уже написано имя файла для переименовывания а по F6 имени не будет, его заново надо писать.
Я что? Против шаблонов? Делайте как Вам удобно.

Оффлайн Domitory

  • Активист
  • *
  • Сообщений: 565
    • Просмотр профиля
во второй строке будет уже написано имя файла для переименовывания

Вот теперь еще понятнее стало. Имя сразу подставлено без пути, по этому файл и остается в том же каталоге.

Получается способ по SHIFT+F6 идеален если надо переименовать один файл. А вот если переименовывать сразу кучу файлов то надо уже использовать шаблоны. Ради одного файла морочится с шаблонами как то много телодвижений выходит.


 

Страница сгенерирована за 0.027 секунд. Запросов: 23.