AIX sedparsing错误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. 

在AIX而不是Linux中,打印variables是不同的,正确的做法是执行以下操作。 sed -n'/ ^错误:/,$ p'$ RESULTSFILE

可能GNU sed不像UNIX sed那样严格。

sed -n '/^ERROR:/{p}/' $RESULTSFILE应该这样做。 看到尾部/

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