Fügen Sie jeder Zeile einer Datei mit dem Befehl sed oder einem gleichwertigen Befehl eine neue UUID hinzu
Ich habe eine mehrzeilige Textdatei, mit der ich eine SQL-Anweisung erstellen möchte, für die eine UUID erforderlich ist. Ich versuche, einen Weg zu finden, um die SQL mit sed oder einem anderen Shell-Kommando zu generieren.
Example input:
A
B
C
Example Output:
insert into table values ('7CC92727-D743-45E0-BE57-9FEB2B73BD18','A');
insert into table values ('94E03071-F457-48DD-86E2-AF26309A192D','B');
insert into table values ('1F17525C-9215-4FC4-A608-4FA43C0B2B14','C');
Ich kann den Befehl uuidgen verwenden, um neue UUIDs zu generieren, habe aber bisher keine Möglichkeit gefunden, diesen Befehl mit sed zu verwenden.
Aktualisieren: Dank der Antworten konnte ich einen sed-Befehl ausarbeiten, der für mich bei Cygwin funktioniert.
Ausgedrückt ohne Anführungszeichen der SQL-Werte für didaktische Zwecke:
sed 's/.*/echo "insert into table values (`uuidgen | tr -d \r`,&)"/e' file.txt
Mit den Zitaten:
sed 's/.*/echo "insert into table values '\''(`uuidgen | tr -d \r`'\'','\''&'\'')"/e' file.txt