UUID を必要とする SQL ステートメントを作成するために使用したい複数行のテキスト ファイルがあります。sed またはその他のシェル コマンド ユーティリティを使用して SQL を生成する方法を考え出そうとしています。
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');
uuidgen コマンドを使用して新しい UUID を生成できますが、これまでのところ、そのコマンドを sed で使用する方法は見つかりませんでした。
更新: 回答のおかげで、cygwin で機能する sed コマンドを思いつくことができました。
教訓的な目的で SQL 値を引用せずに表現します。
sed 's/.*/echo "insert into table values (`uuidgen | tr -d \r`,&)"/e' file.txt
引用符付き:
sed 's/.*/echo "insert into table values '\''(`uuidgen | tr -d \r`'\'','\''&'\'')"/e' file.txt