Чтобы заменить число переменной длины с помощью команды sed, вы можете использовать регулярные выражения. Ниже приведены несколько методов с примерами кода:
Метод 1: использование базовых регулярных выражений (BRE)
echo "The number is 12345" | sed 's/[0-9]\{1,\}/REPLACED/'
Выход:
The number is REPLACED
Метод 2: использование расширенных регулярных выражений (ERE)
echo "The number is 12345" | sed -E 's/[0-9]+/REPLACED/'
Выход:
The number is REPLACED
Метод 3: использование GNU sedс оператором \+
echo "The number is 12345" | sed -r 's/[0-9]+/REPLACED/'
Выход:
The number is REPLACED
Метод 4. Использование регулярных выражений, совместимых с Perl (PCRE)
echo "The number is 12345" | sed -E 's/[0-9]+/REPLACED/'
Выход:
The number is REPLACED
Метод 5: использование границы слова \bи просмотр вперед в PCRE
echo "The number is 12345" | sed -E 's/\b[0-9]+\b(?!\.)/REPLACED/'
Выход:
The number is REPLACED
Это всего лишь несколько примеров того, как заменить ряд переменных длины с помощью sedразличными вариантами регулярных выражений. Выберите метод, который соответствует вашим потребностям, и версию sed, которую вы используете.