sql - 如何在不添加行的情况下添加到 SED 的末尾

标签 sql linux

我正在尝试使用 sed 将插入行添加到 2200 万行。我当前的命令是;

sed -i 's/ //g' test.txt (Removes any spaces)
sed -i ':;N;$!b;s/\n/");\n/g' test.txt (Adds "); to end of line)
sed -i -e "s/^/INSERT INTO TABLES (FIELD) VALUES (\"/" test.txt (Adds insert with (")

如果我在包含 10 行的测试中执行此操作,它会很好,但每当我在包含 2200 万行的主 txt 文件上运行它时,它都会执行...

INSERT INTO TABLE (FIELD) VALUES ("123456
")
INSERT INTO TABLE (FIELD) VALUES ("567891011
")

这导致在数字后添加一个 "

我试图将其实现为 INSERT INTO TABLE (FIELD) VALUES ("567891011")

最佳答案

这还不够吗

sed 's/\s*//g' test.txt
sed 's/$/");/' test.txt
sed 's/^.\+$/INSERT INTO TABLES (FIELD) VALUES ("/' text.txt

或者你可以把它放在一行中

sed 's/\s*//g; s/^.\+$/INSERT INTO TABLES (FIELD) VALUES ("\0");/' test.txt

关于sql - 如何在不添加行的情况下添加到 SED 的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37057504/

相关文章:

linux - gcc: 链接器输入文件未使用,因为链接未完成

linux - 如何压缩包含超过 12GB 数据的文件夹

python - Django 生产中 Gunicorn 的守护进程和 Upscript 的区别

c - mmap/munmap 问题 - 在第 783 次迭代后出现总线错误?

sql - 带主键 ID 的批量插入

sql - 使用日期维度表比直接存储日期有什么优势?

php - 根据 MySQL 数据库中的计数和日期获取前 5 个项目

SQL-如何检查项目是否在记录的列表中

c - 通过 getauxval 检测 Power8 核心加密?

MySQL选择具有给定id的最后一个查询