Команда «Сед» не работает на Solaris - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть файл 'result.xml'.

10/19/2011 0:11:05
Джек

Я хочу заменить дату в теге 10/19/2011 12:11:05 на ММ / ДД / ГГГГ ЧЧ: ММ: СС AM .

Выходной файл, который я хочу, это

ММ / ДД / ГГГГ ЧЧ: ММ: СС AM
Джек

Я использую команду

sed '%date% c\<date>MM/DD/YYYY HH:MM:SS AM<\/generate_date>' result.xml > output.xml

и эта команда работает в Linux, но не работает в Solaris10 с сообщением об ошибке «sed: command garbled»

Я обнаружил, что команда sed с опцией 'c \' не работает на солярисе, не могли бы вы посоветовать мне решить эту проблему.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 23 ноября 2011

Как насчет команды 's' в sed?

sed 's@<date>.*</date>@<date>MM/DD/YYYY HH:MM:SS AM</date>@'
0 голосов
/ 23 ноября 2011

Старые unix seds требуют больше руки ;-) ... Попробуйте

sed '%date% c\
  <date>MM/DD/YYYY HH:MM:SS AM<\/generate_date>

' result.xml > output.xml
0 голосов
/ 23 ноября 2011

Учитывая общее плохое состояние инструментов Solaris UNIX (например, sed), многие люди компилируют и устанавливают инструменты GNU (те, которые используются в большинстве дистрибутивов Linux).Я видел это только со стороны пользователя, не могу сказать вам, если Sun делает их доступными.

...