我有一个多行文本文件,我想用它来创建需要 UUID 的 SQL 语句。我试图想出一种使用 sed 或其他一些 shell 命令实用程序生成 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