O print var é diferente no AIX em vez do Linux, o caminho correto seria fazer o seguinte. sed -n '/ ^ ERRO: /, $ p' $ RESULTSFILE
Eu tenho este sed trabalhando no Linux e tenho alguns servidores AIX que eu preciso usá-lo também, mas continuo recebendo este erro e não consigo encontrar nenhuma informação nele, mesmo que seja específico.
Tenho o seguinte para trabalhar, mas o complexo que não consigo descobrir.
$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 mais complexo
$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.
Provavelmente o GNU sed não é tão restritivo quanto o UNIX sed.
sed -n '/^ERROR:/{p}/' $RESULTSFILE
deve fazê-lo. Veja o trailing /
.
Referência: link