Моя версия sed
не любит бит {11}
. Обработка строки с:
sed 's/author: [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9];//g'
отлично работает.
И способ отладки это именно то, что я сделал здесь. Я только что построил команду:
echo 'X author: 00000000000; X' | sed ...
и убрал более продвинутые регулярные выражения по одному:
- использовал
<space>
вместо \s
, не исправил.
- заменил
[0-9]{11}
на 11 копий [0-9]
, что сработало.
В значительной степени было , чтобы быть одним из тех, так как я использовал все другие функции вашего регулярного выражения ранее с sed
успешно.
Но, на самом деле, это будет на самом деле работать без отвратительных 11 копий [0-9]
, вам просто нужно убрать скобки [0-9]\{11\}
. Я должен признать, что я не удосужился попробовать это, так как это работало хорошо с мультипликаторами, и я вообще не слишком беспокоюсь о краткости в sed
, так как я склонен использовать это больше для быстрых и грязных работ : -)
Но метод скобок - это гораздо более лаконичный и адаптируемый, и полезно знать, как это сделать.