Erro de análise do sed do AIX 0602-404 mas funciona com o Linux sed?

3

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.
    
por LF4 01.10.2011 / 00:09

2 respostas

1

O print var é diferente no AIX em vez do Linux, o caminho correto seria fazer o seguinte. sed -n '/ ^ ERRO: /, $ p' $ RESULTSFILE

    
por 01.10.2011 / 02:27
0

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

    
por 01.10.2011 / 00:18

Tags