Есть ли способ заменить шаблон по его длине на Sed / Awk / Perl? Я ищу небольшие переносимые команды, которые можно использовать в скрипте Bash.
У меня есть строки, которые начинаются с определенного символа (скажем, x
), и я хочу заменить эти повторения x
их длиной.
So
xxxx rest of the line
xxx again
xx again and again
xxxxx you got my point
станет
4 rest of the line
3 again
2 again and again
5 you got my point
Сед не может быть хорошим кандидатом. Я знаю, что в Perl есть опция e
, которая позволяет выполнять код в строке подстановки, но я не уверен, как он будет использоваться здесь: perl -pe 's/^(x+)/length($1)/e'
?