Perl One Liner:
$ perl -pe 's/\%(\w\w)/chr hex $1/ge'
Пример:
$ echo '%21%22' | perl -pe 's/\%(\w\w)/chr hex $1/ge'
!"
Не уверен насчет клеммы kterm
, но, вероятно, она совместима с выходом xterm
- большинство из них совместимы. Если да, то вы захотите поместить в приглашение что-то, что устанавливает заголовок окна:
3.1 xterm escape sequences
Window и заголовки иконок могут быть изменены в работающем xterm'е с помощью XTerm escape sequences. В этом отношении полезны следующие последовательности:
ESC]0;stringBEL
-- Установить имя иконки и заголовок окна на stringESC]1;stringBEL
-- Установить имя иконки на stringESC]2;stringBEL
-- Установить заголовок окна на string. где ESC
- экранирующий символ (\033
), а BEL
- колокольный символ (\007
).
Вы можете поместить их в приглашение между выходом без печати - если вы используете bash
. В этом shell'е вы можете использовать:
PS1="\[$(printf '\033]0;"${USER}@${BASH_COMMAND}"\007')\]"
Или вы можете поместить что-то подобное в переменную окружения $PROMPT_COMMAND
.
Очевидно, что konsole
изменяется в зависимости от версии, позволяет ли она задавать имя окна посредством последовательности экранирования. В какой-то момент во время цикла версии 3 она перестала интерпретировать последовательность ESC]33;Имя окнаBEL
и удостоилась чести последовательностей xterm
только за изменение заголовков закладок.
Начиная с версии 4.9, однако, konsole
должна, по крайней мере, учитывать странную последовательность ESC]30;Tab NameBEL
, и если вы настроите ее как пустую в диалоге настроек, то имя окна будет автоматически клонировано из активной в данный момент вкладки.
Неясно, можно ли использовать более распространенный выход xterm
для установки заголовка окна или нет. Однако, если предложенной здесь информации недостаточно, чтобы прийти к удовлетворительному решению, то я подозреваю, что вы найдете некоторую полезную информацию, перейдя по ссылкам, прикрепленным к соответствующим изменениям, записанным для версии 4.9 в блоге изменений здесь.