您應該修改您的sql查詢以保留任何與詞典中的術語不匹配的單詞(可能通過使用外連接;如果向我們顯示該查詢,我們可以給您更具體的建議)。然後,假設你的輸出,那麼看起來是這樣的(只是一個/
以下各期限不匹配的詞彙):
The/article big/adjective red/ ball/noun fell/.
您可以用sed
這樣的清理(假設這個字符串已經被保存在一個變量中稱爲$variablename
:
sed 's_\/\([ .]\)_\1_g' <(echo "$variablename")
說明:
我用_
代替鄰f /
用於爲我的s
命令的可讀性劃分界限。語法s/search/replace/g
與s_search_replace_g
同義。
\/\([ .]\)
告訴sed與文字/
匹配任何後跟一個空格或一個週期[ .]
(轉義爲\/
)。由於圍繞該模式的\(
和\)
,與此模式匹配的任何內容都會存儲到引用中。
\1
在替換模式中是我前面提到的反向引用。這就像一個變量,存儲我們在搜索模式中用圓括號包圍的匹配部分。實際上,我已經告訴sed去除任何後面跟着一個空格或一個句點的正斜線,而不會剝去空格或句號本身。
輸出:
The/article big/adjective red ball/noun fell.
從數據庫中的行丟失 「紅」 – Kent