3
我想在bash中使用正則表達式在變量賦值行如何用正則表達式(bash)賦值變量?
例如,
oldip="14\.130\.31\.172"
oldip_a="14.130.31.172" //How to use regex on this line.
如何使用正則表達式來刪除$ oldip中的所有'\'?然後將新值分配給$ oldip_a。
你有什麼想法嗎?
我想在bash中使用正則表達式在變量賦值行如何用正則表達式(bash)賦值變量?
例如,
oldip="14\.130\.31\.172"
oldip_a="14.130.31.172" //How to use regex on this line.
如何使用正則表達式來刪除$ oldip中的所有'\'?然後將新值分配給$ oldip_a。
你有什麼想法嗎?
我相信你想使用字符串替換是這樣的:
oldip_a=${oldip//\\/}
或者類似的東西......當然總會有一些逃避反斜槓的戰鬥!
一個更明顯的例子:
some_variable=${some_other_variable//replaceEachOfThese/withThis}
搜索此頁面上的 「全部替換匹配」:
http://tldp.org/LDP/abs/html/string-manipulation.html
這裏是你如何能做到這一點:
oldip="14\.130\.31\.172"
oldip_a=`echo $oldip | sed 's/[\]//g'`
echo $oldip_a
輸出
14.130.31.172
我認爲你有一個錯字(額外'/'末) - 應該是'oldip_a = $ {oldip // \\ /}' – 2012-03-14 06:18:22
這就是爲什麼我扔了_some這樣的_...謝謝! – jahroy 2012-03-14 06:37:07
沒問題。我會投票你的答案,但我跑出了日常投票! – 2012-03-14 06:40:31