Ich versuche, einen Parameter zu ersetzen, um einen Wert zu ändern, wenn das AWK nach einer Zeichenfolge in einer Datei sucht.So senden Sie Parameter in AWK, um einen Parameter zu ersetzen. Unix Korn Shell
ist das möglich? Ich mache das.
DisplayMessage()
{
##Parameter 1 = Message ID.
MessageFile="/dev/fs/C/Users/salasfri/Desktop/Messages.txt"
Message=$(awk '$1 ~ /^'$MessageID'$/ {$1=""; print $0}' $MessageFile)
}
die Nachrichtendatei in der Datei für aussieht "nachrichten": "Die Datei $ {1} wurde nicht tranmitted"
0005 The file ${1} was not tranmitted.
es für 0005 suchen und die Meldung
Ich möchte $ {1} mit dem Namen der Datei
ersetzen diese mit awk möglich sein könnte? irgendeine Idee?
Wofür steht 'der Name der Datei'? Die 'MessageFile'? Irgendein anderer Dateiname? Welche Variable enthält den Namen der Datei? – Jdamian
Um einen Teilstring in einem String zu ersetzen, sollten Sie 'sub()' oder 'gsub()' Funktionen verwenden: 'sub (" $ \ {1 \} "," mein Dateiname ", $ 0)'. Bedenken Sie, dass '{1}' eine besondere Bedeutung als E.R.E hat. und daher muss ein Escape-Zeichen verwendet werden. – Jdamian