Christian Augustat schrieb:
Guten Morgen Ihr Helfer in der Not!
Ich hab leider ein "kleines" Problem mit AWK bzw. mit dem korrekten Escapen in der Bash.
Problem: "(M)" und andere sonderzeichen werden nicht in der Bash gefunden.
Hier nun mein Code:
#myLine enhält z.b. folgende Daten 47474-4848438-3848484(M) myKeyEscaped=`echo $myLine'$'|sed s`\/'/'\\\/'g`
Hi, entweder bin ich doof, oder das sieht irgendwie nach murks aus, zuviele backticks, zuviele \ ? Was soll das '$' bewirken? Was soll das überhaupt? ;) Hast Du denn schon mal getestet, was dann in $myKeyEscaped steht?
data=`awk -F ';' '{if ($1~/'"$myLineEscaped"'/) print $0}' $3` Huh? wo kommt $myLineEscaped, sollte das nicht myKeyEscaped sein?
#$3 spezifiziert eine textdatei (csv format) in der das 1. Feld einer Zeile #"aussieht" wie "myLine".
Ich denke, Du kannst Dir das echo ... sed sparen, was sed kann, kann awk hier auch. Vielleicht ist es besser, wenn Du mal das Script postest. -- Gruss Bernd