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

时间:2016-05-05 18:15:11

标签: 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行的测试中做到这一点就可以了,每当我在我的主txt文件上运行它时,就会有2200万行,它就是这样做的。

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

这导致在数字

之后添加"

我试着实现它作为INSERT INTO TABLE(FIELD)VALUES(“567891011”)

1 个答案:

答案 0 :(得分:1)

不应该这样就足够了

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