FILE.txt的示例內容如下所示。我如何修改SED使用的正則表達式來執行捕獲,從而產生所需的輸出節?如果可能,最好使用POSIX awk或sed函數。我已經考慮完全使用AWK來完成這個工作,但是我沒有遵循如何使用它提供的選項創建與捕獲相同的行爲。帶捕獲sed/awk正則表達式 - 如何讓一個簡單的正則表達式工作?
一個我碰到的嘗試各種解決方案的問題是如何使雙引號可選。
sed -e 's/.Include .*"*\(.*\)"*/\1/g' FILE.txt
FILE.txt
##########################################################################
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI Multiviews
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# Possible values include: debug, info, notice, warn, error, crit,
# does not include the trailing slash.
AddOutputFilter INCLUDES .shtml .html
Options -Indexes FollowSymLinks Includes
LoadModule include_module modules/mod_include.so
Include /opt/file.conf
Include "/opt/file.conf"
Include /usr/bin/abcOutput.conf
Include /usr/bin/ed_Output.conf
###########################################################################
**Desired Output:**
/opt/file.conf
/opt/file.conf
/usr/bin/abcOutput.conf
/usr/bin/ed_Output.conf
12問題,並在只有2接受。請看看:?當有人回答我的問題,我應該怎麼辦(http://stackoverflow.com/help/someone-answers) – Cyrus
你** **真的希望這些'###### ################################################## ###################'行會出現在輸出中?如果沒有,解決你的問題。 –
刪除正則表達式開頭處的'.',對於初學者。您還需要進行匹配的是,關閉雙引號的工作 - 使用'[^「]的*''而不是*' - ! –