我正在尝试使用 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/