Если Perl является опцией:
$ perl -lpe 's#(?<==)(.*)#join ",", unpack("H2" x length($1), $1)#e' file
some line
some other line
DisplayChoices=53,41,4d,53,55,4e,47
yet another line
ChipManufacturer=4c,47
and yet another line
Я уверен, что это можно улучшить...
.profile
читается оболочками на основе Борна (, например. /bin/sh
и bash
). Если такая оболочка не запущена, то .profile
не будет прочитан. Похоже, вы запускаете st из dwm
и nnn
из st
без оболочки.
Если переменная окружения установлена в родительском процессе (, в этом случае dwm и любые антецеденты )и будут унаследованы всеми порожденными дочерними процессами. В зависимости от того, как вы запускаете X, есть много способов сделать это -слишком много, чтобы перечислять без дополнительного контекста, но, возможно, в ~/.xinitrc
или ~/.xsession
.
Альтернативным подходом является использование PAM, который по умолчанию в архитектуре, я думаю, читает $HOME/.pam_environment
при входе в систему, и вы можете поместить туда пары NAME=VALUE
.