AIX sed 解析错误 0602-404 但可以与 Linux sed 一起使用吗?

AIX sed 解析错误 0602-404 但可以与 Linux sed 一起使用吗?

我在 Linux 中使用了这个 sed,并且有几个 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.

答案1

在 AIX 和 Linux 中,打印变量有所不同,正确的方法是执行以下操作。sed -n '/^ERROR:/,$p' $RESULTSFILE

答案2

GNU sed 可能不像 UNIX sed 那样有限制。

sed -n '/^ERROR:/{p}/' $RESULTSFILE应该可以。请参见后面的/

参考:http://zotline.com/shownote.zot/NoteNum/2856.html

相关内容