У меня есть xml-файл, в котором я ищу шаблон ниже.Sed commad не работает в sun solaris machine
<ServiceConfig Id="554">
<Comment>[email protected]</Comment>
<MaxCost>0.000000</MaxCost>
<MaxCostLocalCurrency>true</MaxCostLocalCurrency>
<Atomic>false</Atomic>
<TariffSwitchHandling>external</TariffSwitchHandling>
<CdrAtTollFreeService>false</CdrAtTollFreeService>
<BonusDuringSession>false</BonusDuringSession>
<UserMessagesStartOfSession>true</UserMessagesStartOfSession>
<UserMessagesDuringSession>true</UserMessagesDuringSession>
<UseAccumulatorStartValues>false</UseAccumulatorStartValues>
<ValidityTime Factor="1">120</ValidityTime>
<Volume>
<Total PreferredFactor="1024" Preferred="500" MinimumFactor="1000000" Minimum="0"></Total>
</Volume>
<VolumeQuotaThreshold Factor="1">0</VolumeQuotaThreshold>
<SendQuotaHoldingTime>false</SendQuotaHoldingTime>
<QuotaHoldingTime Factor="1">0</QuotaHoldingTime>
<SendQuotaConsumptionTime>false</SendQuotaConsumptionTime>
<QuotaConsumptionTime Factor="1">0</QuotaConsumptionTime>
</ServiceConfig>
Блок с открытыми & близкими тегами, как «ServiceConfig» &, в котором тег комментария имеет «ECS_OCS_V1_0.0.0.7» строка. для этой цели я использовал приведенную ниже команду sed.
sed -n '/<ServiceConfig Id=/ { :a /<\/ServiceConfig/! { N; ba; }; /<Comment>ECS_OCS_V1_0.0.0.7./ { p; b; }; }' ServiceConfig.xml
Эта команда отлично работает на системе Linux, но не работает на sunOS с ошибкой ниже.
Label too long: /<ServiceConfig Id=/ { :a /<\/ServiceConfig/! { N; ba; }; /<Comment>ECS_OCS_V1_0.0.0.7./ { p; b; }; }
Я не могу понять, в чем причина этой проблемы. Не могли бы вы помочь?
Версия sed вы используете? – 123
Какую версию ОС вы используете? – Cyrus
Возможный дубликат [Solaris sed label too long] (http://stackoverflow.com/questions/20840661/solaris-sed-label-too-long) – Cyrus