2013-11-26 72 views
1

我是新來的,希望你能幫助我解決這個問題。我有一個PL/SQL過程,我正在嘗試使用shell腳本從腳本中刪除註釋。我已經將這個腳本用於單行註釋;如何使用shell腳本在PL/SQL語句中刪除組註釋

grep -v "^--" file_name > file_name2 

但我不知道如何處理包含多行的註釋。舉例來說,

/* This 

line 

is just 

a comment*/ 

在此先感謝!

+0

這裏的東西:http://stackoverflow.com/questions/13061785/remove-multi-line-comments sed -r':a; (。*)。S%/ \ *。* \ * /%\ 1%; TA;/\/\ * /!b; N; ba'Your_file – user1587504

回答

0

這應該是一個評論,但我沒有足夠的代表點來添加評論。無論如何, 被建議你的grep行只有在行首開始時纔會刪除註釋。

嘗試這個,而不是告訴grep模式是一個正則表達式,並匹配從哪裏出現雙破折到行的末尾(檢查您的grep的手冊頁以確保用於告訴它的開關模式是一個正則表達式):

grep -v -e "--.*$" filename 

而且,請注意,註釋可以在SQL語句中出現,並提示如果使用看起來像一個評論,但最有可能不應該被刪除。 SQL與提示示例:

SELECT /*+ ALL_ROWS */ employee_id, last_name, salary, job_id 
    FROM employees 
    WHERE employee_id = 7566; 

試圖剝離多行註釋以確保它們不是真正的提示時要非常小心。提示信息:http://docs.oracle.com/cd/E11882_01/server.112/e41573/hintsref.htm#PFGRF005