2013-12-08 26 views
1

我的平臺:Windows 7,64位; 8 GB內存;的GnuWin32; sed 4.1.5.4013; awk 3.1.6.2962。sed,awk,正則表達式來修改化學術語

我的問題:化學術語很長。

Example_1_: 4-((((2-chloroethyl)nitrosoamino)carbonyl)methylamino)cyclohexanecarboxylic acid. 

Example_2_: 3'-O-(3-(N-(4-azido-2-nitrophenyl)amino)propionyl)adenosine-5'-triphosphate. 

Example_3_: 2-((2-chloroethyl)methylamino)ethyl-4-ethoxybenzoate. 

想要引入<wbr>讓瀏覽器有機會打破漫長的化學術語。

想要在右巴恩後打破。

但是,如果化學術語具有3個或更多右側面,只想引入<wbr>

此外,如果化學術語有三個或更多個右側parens,只想爲最後兩個右側parens引入<wbr>。原因:不想將一個字詞換成三行以上。

Example_1_ would look like this: 4-((((2-chloroethyl)nitrosoamino)carbonyl)`<wbr>`methylamino)`<wbr>`cyclohexanecarboxylic acid. 

Example_2_ would look like this: 3'-O-(3-(N-(4-azido-2-nitrophenyl)amino)`<wbr>`propionyl)`<wbr>`adenosine-5'-triphosphate 

Example_3_ would not be modified because it does not have 3 or more right parens. 

如何使用sedawkregex實施以上?

在此先感謝您的建議。

+0

tks用於格式更改 –

回答

2

感謝您的明確解釋。這似乎工作。我沒有你的sed版本。

sed 's/)\([^)]*)\)\([^)]*)\)\([^)]*\)$/)\1`<wbr>`\2`<wbr>`\3/' data.txt 

你沒有說你正在使用哪個shell。這是爲bash和類似的。對於Windows CMD,請嘗試雙引號。

+0

完美;謝謝。如果我需要對其進行微調,我可以在此基礎上進行構建。 –

+0

是的,知道這麼做。 TY。 –