Ich habe einige Spalten Daten in eine Datei kopiert und dann versucht, eine Spalte Daten in eine andere Datei zu schreiben. Aber ich immer einige falscheawk im Skript zum Kopieren von Daten in eine Datei
Dies ist meine Eingabedatei: -
,E2Bn9,2015-04-29 00:00:00-0500
['2C173'],E2BA8,2015-04-29 00:00:00-0500
['5A475','2C174'],E2BA8,2015-06-29 00:00:00-0400
verwendete ich den awk
, sed
Befehle wie folgt
sed -i 's/",/|/g' tempFile
awk -F '[|,]' '{ print "update table set cola = " $1 " where colb = " $2 " and colc = " $3 }' tempFile > updatestmt.cql
Ich habe die Ausgabe als
update table set cola = where colb = E2Bn9 and colc = 2015-04-29 00:00:00-0500
update table set cola = ['2C173'] where colb = E2BA8 and colc = 2015-04-29 00:00:00-0500
update table set cola = "['5A475' where colb = '2C174'] and colc = E2BA8
1. zwei Zeilen scheint in Ordnung, aber letzte Zeile, es ist ein falscher Wert gedruckt.
Ich mag die letzte Zeile als
update table set cola = "['5A475','2C174'] where colb =E2BA8 and colc = 2015-06-29 00:00:00-0400
Problem mit der letzten Zeile scheint das Komma in den Klammern. Es vermischt die Feldnummerierung, wenn es in Kommas aufgeteilt wird. Geben Sie mir ein paar Minuten, um eine Alternative für die erste Sed ... –
Was ist der Zweck der 'sed' Befehl vor dem awk einen? Es würde nichts an Ihrer Posted-Sample-Eingabe ändern. Wenn Sie es brauchen, dann fügen Sie den Anwendungsfall dafür in Ihre Beispieleingabe ein. Wenn Sie es nicht brauchen, dann werden Sie es los. –