echo office365 | grep -P '\d+' -o find . -name "*.txt" | xargs grep -P 'regex' -o
xargs會(huì)將find結(jié)果作為grep的輸入,防止find結(jié)果過(guò)多無(wú)法處理
-P參數(shù)表明要應(yīng)用正則表達(dá)式
-o表示只輸出匹配的字符串,這樣我們就可以把正則匹配到的結(jié)果拿到了。
Mac OS上用正則的話要用e參數(shù)取代P參數(shù),也可以用sed命令:
sed命令格式:
sed 's/oldValue/newValue/g'
提取字符串
echo here365test | sed 's/.*ere\([0-9]*\).*/\1/g'
輸出:
365
s表示替換,\1表示用第一個(gè)括號(hào)里面的內(nèi)容替換整個(gè)字符串,sed支持*,不支持?、+,不能用\d之類,正則支持有限。
echo here365test | sed "s/365/789/g" # 注意,必須是雙引號(hào),不然引用變量會(huì)有問(wèn)題!沒(méi)錯(cuò),就是這么嚴(yán)苛奇葩! newid=996 echo here365test | sed "s/365/$newid/g"
輸出:
here789test
here996test
到此這篇關(guān)于Shell中使用grep、sed正則提取和替換字符串的文章就介紹到這了,更多相關(guān)Shell grep、sed正則內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:隴南 河池 河北 黔南 淮南 黔南 常州 通遼
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell中使用grep、sed正則提取和替換字符串》,本文關(guān)鍵詞 Shell,中,使用,grep,sed,正則,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。