Markus Wolf schrieb:

vermischt.. Wäre das besser gewesen: "Möchte alle Strings in allen
Zeilen einer Datei ausgeben, die '_READANDUNDERSTOOD_', keinen Punkt
und kein ';' enthalten."?

Siehste, Punkt und Semikolon waren jetzt wieder neu. ;-)


 Sehr schön. Danke. Ich wollte leading und trailing Punkte und
Semikola wegnehmen, was mir nur mit:

echo 'jkl a.IFDGQC_QM_READANDUNDERSTOOD_SP ghi
;QC_QM_READANDUNDERSTOOD_SP; def QC_QM_READANDUNDERSTOOD_SP_ abc
QM_READANDUNDERSTOOD_SP mno' \
| perl -Wane 'for(@F){/([^\s;.]*_READANDUNDERSTOOD_[^\s;.]*)/ && print
"Line $.: len: ", length $1, ": ", "$1", "\n"}'

und nicht mit

echo 'jkl a.IFDGQC_QM_READANDUNDERSTOOD_SP ghi
;QC_QM_READANDUNDERSTOOD_SP; def QC_QM_READANDUNDERSTOOD_SP_ abc
QM_READANDUNDERSTOOD_SP mno' \
| perl -Wane -F/\s\;./ 'for(@F){/_READANDUNDERSTOOD_/ && print "Line
$.: len: ", length $_, ": ", "$_", "\n"}'

 gelungen ist. Unterschied ist einma Standard @F mit anschliessender
Klammerung des RegExp gegenüber -F/\s;./ als Parameter und
/_READANDUNDERSTOOD_/ wie von Dir/gehabt:

$ OD_SP; def QC_QM_READANDUNDERSTOOD_SP_ abc QM_READANDUNDERSTOOD_SP
mno' \
<
| perl -Wane -F/\s\;./ 'for(@F){/_READANDUNDERSTOOD_/ && print "Line $.: len: ", length $_, ": ", 
"$_", "\n"}'
Warning: Use of "-F" without parentheses is ambiguous at -e line 1.
Substitution pattern not terminated at -e line 1.
$

 Vielleicht hat ja jemand/Martin noch eine Idee?

Die Idee, an den ungewünschten Zeichen zu splitten, ist gut. Aber ich würde an Deiner Stelle mal prüfen, ob Du das nicht als ordentlich strukturierte und kommentierten Zehnzeiler irgendwo abwerfen kannst, statt es mit -e ins Shellscript reinzupacken. Das so todzuoptimieren mit der Regex über -F ist doch total kryptisch.

 Danke und Grüsse markus

 -- muss zu meiner 'Schande' gestehen, das ganze in perl 5.8 unter
HP-UX 11.00 (hoffentlich gibts trotzdem eine Antwort :-))

Ich bin grade weg davon. ;-)

-martin

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an