В BSD sed
или последних версиях GNU и busybox sed
вы можете использовать
sed -E 's/uid=.+/uid=something/'
для совпадения одного символа один или несколько раз.
Флаг -E
для sed
включает расширенные регулярные выражения. Без него вы получите базовые регулярные выражения. Два набора грамматик регулярных выражений в основном одинаковы, но используют немного разный синтаксис, а расширенный набор поддерживает больше операторов.
Это заменит
uid=110
на
uid=something
. Если вы хотите сопоставить тот же символ --не с BSD sed
--:
sed -E 's/uid=(.)\1*/uid=something/'
Это заменит
uid=110
с
uid=something0
Стандартные ERE не имеют обратных ссылок. GNU sed
поддерживает его как расширение, но не BSD sed
. Тем не менее, обратные ссылки являются функцией стандартных BRE, поэтому вы можете:
sed 's/uid=\(.\)\1*/uid=something/'
сделать их переносимыми.