[118237] Похоже, это выполняет то, что вы ищете.
Недостоверное руководство по конфигурации XKB Дага Палмера [119062]
compiz-manager
Заметки Ивана Паскаля [119064]Заметки по расширению клавиатуры X
Первый вопрос заключается в том, что каталог $
содержит косые, которые также используются в качестве разделителя для оператора замещения ( S ///
). В основном, если каталог
/ Home / JE_B
, какой Perl видит:
perl -i -pe "s/foo//home/jb/ if \$. == 4" file.txt
требуется /
из / Home
Вторым /
оператора ///
. Самое простое решение состоит в том, чтобы использовать другой символ вместо /
:
perl -i -pe "s#foo#${directory}#" file.txt
Вы также можете упростить другими способами. Рассмотрим это:
perl -pe "s#(path_root_abs = \")(.*)#\1${directory}\"# if \$. == 4" file
\ S
, когда вам нужно только соответствовать одному пространству, просто используйте
космос. $ 1
и \ 1
, поэтому используйте последние и избегайте выхода. «
. Если вы знаете, что это там, добавьте его сами. Наконец, вы также можете получить PWD
от Perl напрямую. Perl Имеет доступ ко всем экспортированным переменным оболочке через % Env
. Итак, вы могли бы просто сделать: хэш
хеш
perl -pe 's#(path_root_abs = ").*#$1$ENV{PWD}"# if $.==1' file