У меня есть этот 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
должен это сделать. См. Конечный /
.