国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

shell基礎(六)--字符串和數組

2024-06-28 13:23:59
字體:
來源:轉載
供稿:網友
shell基礎(六)--字符串和數組

對文本處理,單獨用shell來處理還是比較薄弱。所以shell就引用了awk and sed這兩個命令。我們今天不說這個

一 字符串 字符串是shell編程中最常用最有用的數據類型,因為你定義一個變量,存的值就是一個字符串,字符串可以用單引號,也可以用雙引號,也可以不用引號

 A=1name="lottu"feel='happy'

說下字符串的處理

1. 拼接字符串       echo "${name} feels ${feel}"    #即空格就是字符串拼接2. 求字符串長度       echo ${#name}         echo `exPR length $name`       echo ${name} | awk '{print length($0)}'     #awk里面擁有豐富的函數,所以可以完全借鑒于它。3.截取字符串        echo ${name:1:4}                    #輸出ottu。下標是從0開始;這跟其他語言不一樣。        expr substr "$name" 1 4        echo ${name}|awk '{print substr($0,2,4)}'  #輸出為ottu。4. index檢索子串--返回第一次出現的位置;若找不到,則返回1         expr index "$name" lo5. match匹配子串 --返回匹配到子串的長度;若找不到,則返回0        expr match "$name" lott  #返回4         6. 替換子串${string/substring/replacement}表示僅替換一次substring相配字符,而${string//substring/replacement}表示為替換所有的substring相配的子串         str="you and me,go your home.OK? you"          echo ${str/you/tom}                      echo ${str//you/tom}

總結:靈活運用命令expr,以上實現效果都可以用awk來實現。本人對awk很熟悉;大家有什么文本處理的問題,可以找我。


二 數組

bash支持一維數組(不支持多維數組),并且沒有限定數組的大小。類似與C語言,數組元素的下標由0開始編號。獲取數組中的元素要利用下標,下標可以是整數或算術表達式,其值應大于或等于0

1. 定義數組    在Shell中,用括號來表示數組,數組元素用“空格”符號分割開。定義數組的一般形式為: array_name=(value1 ... valuen)    vname=("lottu" "li0924" "0924" "tom")2. 打印數組值    echo ${vname[2]} #輸出"0924" ;大家理解?因為shell數組的下標是從0開始。    使用使用@ 或 * 可以獲取數組中的所有元素    echo ${vname[@]}  or echo ${vname[*]}3.獲取數組長度    其實跟字符串長度差不多    echo ${#vname[*]} #輸出為4;數組的個數    求數組某個下標的值的長度   echo ${#vname[1]}  #輸出為64. 刪除數組    unset命令    unset varray_name[n]  :刪除第n+1個    unset varray_name       刪除數組 varray_name5. 獲取部分數組--格式:${數組名[@或*]:起始位置:長度}  $ vname=("lottu" "li0924" "0924" "tom")  $ echo ${vname[*]:0:2}     lottu li0924 6. 擴展read 命令來定義數組使用參數a   $ read -p "please input your number: " -a num     please input your number: 1 5 6 8   $ echo ${num[*]}    1 5 6 8 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桐乡市| 平昌县| 泸西县| 九台市| 无锡市| 托里县| 应城市| 荆州市| 科尔| 东乡县| 武山县| 乳山市| 东明县| 确山县| 兴仁县| 余庆县| 内黄县| 鞍山市| 页游| 鸡泽县| 班戈县| 汾阳市| 澄迈县| 宜春市| 贺兰县| 莲花县| 光山县| 郑州市| 高要市| 海晏县| 南开区| 德惠市| 黔西| 横山县| 建水县| 汾阳市| 内丘县| 盘锦市| 西畴县| 自治县| 江阴市|