2017-01-19 135 views
0

我希望能夠將所有下劃線後跟一個小寫字母替換爲帶有sed的點。可能嗎?用小寫字母替換下劃線

foo.bar

乾杯

+1

我覺得'sed's/_ \([a-z] \)/。\ 1/g''應該可以工作。 –

+4

@WiktorStribiżew或'[[:lower:]]'以避免出現語言環境問題。 –

回答

1

更換

foo_bar

您可以使用

echo 'foo_bar_BAR_space' | sed 's/_\([[:lower:]]\)/.\1/g' 

參見online demo

詳細說明:

  • _ - 下劃線
  • \([[:lower:]]\) - 捕獲組匹配小寫字母,並把它在第1組
  • .\1 - 替換:一個點+小寫捕獲到組1中的字母
  • /g - 匹配多次出現的已定義模式。