1. 程式人生 > >BASH 內置的字符串處理功能

BASH 內置的字符串處理功能

bash linux 字符串處理

BASH 內置的字符串處理功能 字符串切片: ${var:offset:number} #offset表示從哪個字符開始,number表示取幾個字符 url=www.baidu.com echo ${url:4:5} -> baidu echo ${url:4} ->baidu.com ${var: -number} #表示從右往左取幾個字符,註意” - “前面必須有空格 基於模式的取串: ${var#*word} #表示從左至右,刪除到第一個被word匹配字符中間所有的字符串 url=www.baidu.com echo ${url#*.} ->baidu.com ${var##*word} #表示從左至右,刪除到最後一個被word匹配字符中間所有的字符串 url=www.baidu.com echo ${url##*.} ->com ${var%word*} #表示自右往左,刪除到第一個匹配word的字符串 path=’/etc/selinux/config’ echo ${path%/*} -> /etc/selinux #取路徑名 ${var%%word*} #表示自右往左,刪除到最後一個匹配word的字符串 查找替換: ${var/pattern/substr} #表示將被pattern第一次匹配的字符替換為substr url=www.baidu.com echo ${url/www/mail} ->mail.baidu.com ${var//pattern/substr} #表示此行中所有被pattern匹配的字符都替換為subtr url=www.baidu.com.cc echo=${url//./_} ->www_baidu_com_cc ${var/#pattern/substr} #行首錨定,只匹配出現在行首的字符 ${var/%pattern/substr} #行位錨定,只匹配出現在行尾的字符 字符刪除: ${var/pattern} #刪除第一次被pattern匹配的字符 ${var//pattern} #刪除整行所有被pattern匹配的字符 ${var/#pattern} #刪除行首被pattern匹配的字符 ${var/%pattern} #刪除行尾被pattern匹配的字符


BASH 內置的字符串處理功能