У меня есть строка, чтобы соответствовать и дезинфицировать в Баше, например:Баш регулярного выражения для очистки некоторых символов
POST_DATA="password=this*pass&is/for?testing"
Я хочу, чтобы соответствовать всем строкам после дезинфицирующого символа = (за исключение) это обугливает * &/?
я могу получить все, что после того, как символ = с помощью:
[[ ${POST_DATA} =~ ^password=(.*)$ ]] && password="${BASH_REMATCH[1]}"
echo $password
Это показывает:
this*pass&is/for?testing
Я хочу, чтобы регулярное выражение, которое требуемый выход:
thispassisfortesting
Я попробовал некоторые исключая шаблоны, которые не работают следующим образом:
^password=(^[^\*\?&/])*$
Любая идея? Благодарю.
Возможно использование 'printf' - этот код может завершиться неудачей с' echo', если пароль начинается с тире. – tripleee
Мне это нужно, используя чистый баш. Это нормально для меня. Спасибо. – OscarAkaElvis
@OscarAkaElvis: 'printf' - это встроенный bash. – choroba