我希望能去:SED添加文本週圍的正則表達式
sed "s/^\(\w+\)$/leftside\1rightside/"
,並有由(\w+\)
匹配該集團萊夫特賽德'和「rightside」之間出現英寸
但是,好像我必須將它重複兩次,一次在文本的左側,另一次在右側。如果有人知道一個方法來做到這一點,我會很感激。
我希望能去:SED添加文本週圍的正則表達式
sed "s/^\(\w+\)$/leftside\1rightside/"
,並有由(\w+\)
匹配該集團萊夫特賽德'和「rightside」之間出現英寸
但是,好像我必須將它重複兩次,一次在文本的左側,另一次在右側。如果有人知道一個方法來做到這一點,我會很感激。
它不工作的原因是你可能指定了錯誤的正則表達式。在你的情況下,文本將被添加在行尾只有如果它由只有字字符(鑑於您的sed
版本支持\w
表示法)。如果不使用-r
選項,您也不會逃脫+
,您應該這樣做。
嘗試從sed "s/^\(.*\)$/leftside\1rightside/"
開始,或者僅僅從sed "s/.*/leftside&rightside/"
開始並從此開始工作。
我檢查過,\ w不支持 - 這是主要問題。此版本的工作原理:$ echo「FIC」|所以我現在想象它只是寫\ w字符類的其餘部分的問題 –
@ user1476674'sed'有它自己的東西字符類的符號。試試'[[:alpha:]]'而不是'\ w'。例如,如果你向下滾動一點,這些類就會列在[here](http://www.gentoo.org/doc/en/articles/l-sed2.xml)中。此外,如果問題得到解決,請考慮[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)答案。 –
我想不出爲什麼它不會像你寫的那樣工作。 –
向我們顯示您的輸入和輸出。 – tuxuday