0

こんにちは、この内容のファイルがあります

 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE add_customer\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE add_order\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE add_to_cart\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE add_to_wish_list\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE add_transaction\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE clear_cart\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE get_order_contents\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE get_shopping_cart_contents\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE get_wish_list_contents\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE receipt_retrieve\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE remove_from_cart\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE remove_from_wish_list\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE select_categories\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE select_products\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE select_sale_items\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE update_cart\G'
 mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE update_wish_list\G'

関数を使用して各行を実行し、コマンド出力に置き換えてから、「mysql」で始まる次の行を検索し、その行をファイルの最後まで実行します。

ここに私の機能があります

r !mysql -uroot -ppass sas -e 'SELECT name FROM mysql.proc;'
    normal! gg /name<CR>n
    normal! dd
    %normal! I mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE 
    normal! ggdd0 
    %normal A\G'
    normal! gg0
    normal! G
    let lastline = line(".")
    echom lastline 
    normal! gg0
"here is where i want to start
    .!sh
**"back to normal to search**
    normal! /mysql<CR> n 
**"when found execute the line**
    %normal !!sh
    ".!sh
endfunction

これは最初の行で機能しますが、行全体を行う方法がわかりません。私は私が近くにいることを知っています..

4

1 に答える 1