【Linux】awk文本替換


awk用法之:文本替換

awk的sub/gsub函數用來替換字符串,其語法格式是:

 

sub(/regexp/, replacement, target)

注意第三個參數target,如果忽略則使用$0作為參數,即整行文本。

  • 例子1:替換單個串

只把每行的第一個AAAA替換為BBBB

 

awk '{ sub(/AAAA/,"BBBB"); print $0 }' t.txt
  • 例子2:替換所有的串

把每一行的所有AAAA替換為BBBB

 

awk '{ gsub(/AAAA/,"BBBB"); print $0 }' t.txt
  • 例子3:替換滿足條件的行的串

只在出現字符串CCCC的前提下,將行中所有AAAA替換為BBBB

 

awk '/CCCC/ { gsub(/AAAA/,"BBBB"); print $0; next } { print $0 } ' t.txt
  • 例子4:替換多個可選串

不管是AAAA,還是CCCC,全部替換為BBBB

 

awk '{ gsub(/AAAA|aaaa/,"BBBB"); print $0 }' t.txt
  • 例子5:全字匹配替換

全字匹配AAAA;即不匹配AAA,以及AAAAA,也就是說完整的四個字符串AAAA。

 

awk '{ sub(/\<AAAA\>/,"BBBB"); print $0 }' t.txt
  • 例子6:規則表達式匹配

把所有以A開頭,不管后面連續包含幾個A的串替換成一個字符B。

 

awk '{ gsub(/^A*/,"B"); print $0 }' t.txt


轉自:
作者:CodingCode
鏈接:https://www.jianshu.com/p/d90f8a2ecd62


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM