shell替換文件某一列 linux下查找某一行替換前后行?
linux下查找某一行替換前后行?如果格式是你說的四行循環(huán),那我們就換個思路,按換行,也就是說,每次出現(xiàn)第一次,就換行,換行后再換行。sed-i“:a/^/{s/*/X/nns/*/X/}nba”文件
linux下查找某一行替換前后行?
如果格式是你說的四行循環(huán),那我們就換個思路,按換行,也就是說,每次出現(xiàn)第一次,就換行,換行后再換行。sed-i“:a/^/{s/*/X/nns/*/X/}nba”文件.txt解釋如下:如果匹配行以S/開頭,則設置標簽a/^/。*/X/替換當前行為xnn read in the next line,然后read in the next line s/。*/X/替換當前行為xn read in the next line again Ba jump to label a,這相當于goto語句。這將構成一個循環(huán),直到文件處理結束。如果你有任何問題,請問。
請問怎么在shell腳本中,替換文件多行里面的指定字符串?
Sed-I“/AAA/{:ans/123/XYZ/g/EEE/!Ba}“yourfile;首先匹配AAA,然后執(zhí)行大括號中的語句。;n讀取下一行;s/123/XYZ/g將123替換為XYZ,全局替換,在同一行中多次;:a set jump label a/EEE/!Ba如果當前行與EEE不匹配,跳轉到標簽a并繼續(xù)執(zhí)行,形成一個循環(huán)。如果它與EEE匹配,它將退出循環(huán),sed將為再次讀入的每一行匹配AAA。由于sed沒有添加-N silent選項,因此默認情況下它將打印每一行數(shù)據(jù)。
利用shell腳本如何提取一個文件中某一特定行和下面若干行的內容?
如果要查找最后一個ABC和接下來的10行,當然,可以根據(jù)1中有ABC的事實來執(zhí)行此語句。否則下一條語句將失敗。更好的方法是將腳本分成兩條語句。一條語句確定是否有ABC和行號,第二條語句使用sed打印。你可以按照下面的順序自己做,我就不多說了。sed-n “$(grep-n ABC 1.log | tail-1 | cut-d:-f 1),10p”ABC.log日志