LINUX.ORG.RU

Отключить %s в командной строке Midnight Commander

 


1

1

Я хочу внести некоторые изменения в содержимое директории, не меняя её время модификации. Примерно так:

$ ls -ld --time-style=+%s book213/
drwxr-xr-x 2 tkzv tkzv 4096 1752784766 book213
$ cd book213; rename ... ... ... ; cd ..
$ touch book213 -d @1752784766

Если я выполняю команду с %s при видимых панелях MC, вместо %s автоматически подставляется выделенный файл. То есть выполняется что-то вроде ls -ld --time-style=+book213 book213/

Как отключить эту подстановку? Помимо закрытия панелей.

Частичный ответ:
ls -l --time-style=+%%s ... — штатное экранирование для MC, как я понял. Работает при открытых панелях, но не работает без них.
ls -l --time-style=+%\s ... — работает и там, и там.

★★★★★

Последнее исправление: question4 (всего исправлений: 3)

Частичный ответ: ls -l –time-style=+%%s … работает при открытых панелях, но не работает без них. Хотелось бы решение, не зависящее от состояния панелей.

Нет такого решения. С закрытыми панелями строку обрабатывает твой шелл, а с открытыми — сперва mc.

CrX ★★★★★
()
Ответ на: комментарий от question4

Вроде никак… Вообще можно накостылить наверное такое, чтоб работало и там и там, не отключая, ща подумаю как.

upd:

ls -ld --time-style=+$(echo '\0x25')s

upd2:

Вообще даже вот так вроде должно (сейчас нет mc под рукой, чтоб проверить):

ls -ld --time-style=+%\s

В общем, суть в том, чтобы для шелла ls %s в аргументах присутствовал, но mc его не видел.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 2)