我想在所有前面帶有字符('_')的地方用大寫字母替換下劃線,後面跟着大寫字母,例如: QWQW_IOIO,OP_FD_GF_JK,TRT_JKJ等。在整個文檔中需要替換。Vim或sed:替換模式中的字符
我試着用在vim替換這樣的: :%s/[A-Z]_[A-Z]/[A-Z]-[A-Z]/g
但是,這導致QWQW_IOIO
與QWQ[A-Z]-[A-Z]OIO
:(
我使用sed命令嘗試: sed -i '/[A-Z]_[A-Z]/ s/_/-/g' ./file_name
這導致了更換整條生產線如
QWQW_IOIO variable may contain '_' or '-'
線被替換
QWQW-IOIO variable may contain '-' or '-'
下面的答案中的「捕獲組」與「sed」(除了'\ v'和'\ u'之外的東西)類似。請訪問http://grymoire.com/Unix/Sed.html#toc-uh-3以獲得一個溫和的介紹。祝你好運。 – shellter