bash內置的字符串處理工具


 字符串切片 ${var:offset:number}
 例如: name="Obama"|echo  ${name:0:2}
        或者echo ${name:1}

 取最右側的字符串  ${name: -3}  必須在:後面加一個空格

 基於模型取字串
    ${var#*word} 其中word可以使任意字符;功能:自左而又,
查找var變量所存儲的字符串中,第一次出現word,刪除字符串開頭至
第一次出現word字符之間的所有字符。
   例如   
name="123"|echo ${name#*2}   這樣就會顯示3,刪除一次2
name="122323233"|echo ${name##*2}  表示刪除最後一次出現2之前的所有字符
  
#表示左-->刪除  ##*刪最後一次以及之前  #*只刪一次
%表示右-->刪除  %%*刪最後一次以及之前  %*只刪一次


例如
url=http://www.123.com:8080
${url##*:}  取端口 8080
${url%%*:}  取寫協議http

查找替換

${var/pattern/substi}  查找var所表示中第一次被p..匹配到的替換爲s..
${var//pattern/substi}  查找var所表示中所有被p..匹配到的替換爲s..

${var/#pattern/substi}  只替換行首爲p..的
${var/%pattern/substi}  只替換行尾爲p..的


查找刪除

${var/pattern}   第一次並且刪除
${var//pattern}   所有刪除
${var/#pattern}  刪除行首出現一次
${var/%pattern}  刪除行尾出現一次

字符大小寫替換
${var^^}  所有小寫-->大寫
${var,,}  所有大寫-->小寫


變量賦值
${var:-value} 如果var爲空或未設置,返回value;否則返回var

${var:=value} 如果var爲空或未設置,返回value,
並且將value賦值var;否則返回var

${var:+value} 如果var不空,返回value
${var:?error_info} 如果var爲空或未設置,返回error_info;否則返回var值


爲腳本程序使用配置文件
    (1)定義文本文件,每行定義“name=value”
    (2)在腳本中(source或者.)此文件即可

臨時文件創建命令
mktemp 


XXX至少出現3次 
-d 創建臨時目錄

mktemp /tmp/test.XXX 
就會用到 字母數字等62個變化隨機填充XXX 

mktemp --tmpdir=/path  a.XXX
指明目錄的情況下創建臨時文件


引用  tmpfile=$(mktemp /tmp/test.XXX)

install命令

install -m 700  -d  testdir  創建一個權限爲700的目錄

install file1 [file2..] 目錄
install  -t 目錄  file...
-d 創建空目錄
選項
    -m 制定權限
    -o 指定屬主
    -g 指明屬組


 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章