authpriv
– несистемные сообщения авторизации
auth
- связанные с аутентификацией и авторизацией команды
ранее LOG_AUTHPRIV
для сокрытия чувствительных сообщений журнала в защищенном файле, например, /var/log/auth.log. тогда как LOG_AUTH
на Linux обычно не настраивается с ограниченным доступом, тогда как LOG_AUTHPRIV
. LOG_AUTH
вместо того, чтобы использовать что-то универсальное как LOG_USER
.
Рекомендуется использовать LOG_AUTHPRIV
для подлинных журналов, которые имеют существенный риск записи чьего-то пароля
GNU C руководство Библиотеки не документирует LOG_AUTHPRIV
вообще и просто имеет LOG_AUTH
, таким образом, страницы справочника Linux не получают его оттуда.
теперь от man syslog
я добрался LOG_AUTH security/authorization messages (DEPRECATED Use LOG_AUTHPRIV instead)
но большая часть кода, который я видел, имеет что-то как
#ifndef LOG_AUTHPRIV
#define LOG_AUTHPRIV LOG_AUTH
#endif`
таким образом, это до Вас для решения который использовать
Я использовал бы, переводят TR команды, например.
tr ab ba < input_file
Если Вы только хотите заменить отдельные символы, не более длинные строки, использовать
sed -e 'y/ab/ba/'
или эквивалент tr
команда из ответа X Tian. Для произвольных строк необходимо работать усерднее:
Если существует какой-либо символ, который, конечно, не происходит во входе, такой как #
(даже управляющий символ сделает), можно использовать что-то как
sed -e 's/a/#/g;s/b/a/g;s/#/b/g;'
С другой стороны, можно сделать некоторые приемы с добавлением префикса:
sed -e '
s/a/xa/g;
s/b/xb/g;
s/xa/yb/g;
s/xb/ya/g;
s/ya/a/g;
s/yb/b/g;
'
это: снабдите префиксом каждый a
и b
с x
(что означает: еще измененный), замена xa
yb
и наоборот (где y
средства: измененный), и удаляют все префиксы.
Если у Вас есть запасной символ, можно сделать предложение Uwe.
Если действительно только необходимо заменить отдельный символ, и Вам не обязательно нужно sed
, использовать tr
как предложено XTian.
Если Вам не нужно sed
и Вы могли бы заменить более длинные последовательности, не нуждаясь в запасном символе, Вы могли бы пойти с чем-то как этот:
perl -le '%ex=(a=>"b",b=>"a"); $keys=join("|",keys(%ex)); $text="abba"; $text=~s/$keys/$ex{$&}/eg; print $text'
или
ruby -e 'ex={"a"=>"b","b"=>"a"}; puts "abba".gsub(/(#{ex.keys.join("|")})/,ex)'
replace
решение, Вы говорите нам :). – terdon♦ 10.11.2013, 17:33