awk中的多字符分隔符轉義問題


多字符作為分隔符:

一,如果是A或B的關系的話就用

echo "xAxxBxxx" | awk -F '[AB]' '{print $1"|"$2"|"$3}' 


結果是

x|xx|xxx 


 

二,如果是AB整體作為分隔符

echo "xABxx" | awk -F 'AB' '{print $1"|"$2}' 

結果是

x|xx 


 

三,一個特別情況
碰到一個實際情況,我需要用三個豎杠來做分隔符("|||")於是我就寫成

echo "x|||xx" | awk -F '|||' '{print $1}' 

 


結果是

x|||xx 


 

相當於說三個豎杠相當於沒有起作用經過小想和實踐,豎杠需要轉義,轉義符也需要轉義:

echo "x|||xx|||xxx" | awk -F '\\|\\|\\|' '{print $1"|"$2"|"$3}' 

 


結果是

echo "x|||xx|||xxx" 



因為“\”是特殊字符需要轉義

 


免責聲明!

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



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