Назад | Перейти на главную страницу

Ошибка синтаксического анализа AIX sed 0602-404, но работает с Linux sed?

У меня есть этот sed, работающий в Linux, и у меня есть несколько серверов AIX, на которых мне тоже нужно его использовать, но я продолжаю получать эту ошибку, и я не могу найти никакой информации о ней, даже если она специфична.

У меня есть следующие работы, но я не могу понять сложного.

$RESULTSFILE="RESULTS.txt"
$echo -en "\nLine1 Connection info\n\nLine2\nERROR:\nError message\n\n" > $RESULTSFILE
$result=`sed -n '/^ERROR:/{p}' $RESULTSFILE`
   sed: 0602-404 Function /^ERROR:/{p} cannot be parsed.
$if [ "$result" == "ERROR:" ]; then echo True; else echo False; fi

Более сложный sed

$RESULTSFILE="RESULTS.txt"
$echo -en "\nLine1\n\nLine2\n\nMore lines\n--------------------------------------------------------------------------------\nInfo I want to get\nare each of these\n\nlines.\n\nDisconnected...\n\n" > $RESULTSFILE
$result=`sed -n '/^---*/,/Disconnected/{/^---*/d;/^Disconnect*/d;p}' $RESULTSFILE`
    sed: 0602-404 Function /^---*/,/Disconnected/{/^---*/d;/^Disconnect*/d;p} cannot be parsed.

Var print отличается в AIX, а не в Linux, правильнее было бы сделать следующее. sed -n '/ ^ ОШИБКА: /, $ p' $ RESULTSFILE

Вероятно, GNU sed не так ограничен, как UNIX sed.

sed -n '/^ERROR:/{p}/' $RESULTSFILE должен это сделать. См. Конечный /.

Ссылка: http://zotline.com/shownote.zot/NoteNum/2856.html