Here is the commands to concatenate in Linux.
Consider a file as below:
[root@myserver 6048]# cat test.txt
12
0
123445456
234565443
3883
33
My requirement is to generate update/delete statement for each of this value. Think of a file with millions of records.
My update statement would be:
update mytable set col1='Yes' where col2=' value in the file';
Here's the solution:
[root@myserver 6048]# cat test.txt | sed "s/^/update mytable set col1='Yes' where col2='/g;s/$/';/g"
update mytable set col1='Yes' where col2='12';
update mytable set col1='Yes' where col2='0';
update mytable set col1='Yes' where col2='123445456';
update mytable set col1='Yes' where col2='234565443';
update mytable set col1='Yes' where col2='3883';
update mytable set col1='Yes' where col2='33';
update mytable set col1='Yes' where col2='';
update mytable set col1='Yes' where col2='987676';
You may redirect the output to some other file, as below:
[root@myserver 6048]# cat test.txt | sed "s/^/update mytable set col1='Yes' where col2='/g;s/$/';/g" > updates_test.sql
You may also use the below query for the purpose:
[root@myserver 6048]# sed "s/^/update mytable set col1='Yes' where col2='/g;s/$/';/g" test.txt > updates_test.sql
Ping me for any doubts.. +Kiran Yadagere | facebook.com/kiranyadagere
Consider a file as below:
[root@myserver 6048]# cat test.txt
12
0
123445456
234565443
3883
33
My requirement is to generate update/delete statement for each of this value. Think of a file with millions of records.
My update statement would be:
update mytable set col1='Yes' where col2=' value in the file';
Here's the solution:
[root@myserver 6048]# cat test.txt | sed "s/^/update mytable set col1='Yes' where col2='/g;s/$/';/g"
update mytable set col1='Yes' where col2='12';
update mytable set col1='Yes' where col2='0';
update mytable set col1='Yes' where col2='123445456';
update mytable set col1='Yes' where col2='234565443';
update mytable set col1='Yes' where col2='3883';
update mytable set col1='Yes' where col2='33';
update mytable set col1='Yes' where col2='';
update mytable set col1='Yes' where col2='987676';
You may redirect the output to some other file, as below:
[root@myserver 6048]# cat test.txt | sed "s/^/update mytable set col1='Yes' where col2='/g;s/$/';/g" > updates_test.sql
You may also use the below query for the purpose:
[root@myserver 6048]# sed "s/^/update mytable set col1='Yes' where col2='/g;s/$/';/g" test.txt > updates_test.sql
Ping me for any doubts.. +Kiran Yadagere | facebook.com/kiranyadagere
No comments:
Post a Comment
Note: only a member of this blog may post a comment.