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

首頁(yè) > 系統(tǒng) > Linux > 正文

linux bash字符串處理大全

2019-10-26 18:36:27
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

取得字符串的長(zhǎng)度
代碼如下:
代碼:
%x="abcd"
#方法一
%expr length $x
4
# 方法二
%echo ${#x}
4
# 方法三
%expr "$x" : ".*"
4
# expr 的幫助
# STRING : REGEXP   anchored pattern match of REGEXP in STRING

查找子串

代碼如下:
代碼:
%expr index  $x "b"
2
%expr index  $x "a"
1
%expr index  $x "b"
2
%expr index  $x "c"
3
%expr index  $x "d"
4

得到子字符串

代碼如下:
代碼:
# 方法一
# expr <string> startpos length
%expr substr "$x" 1 3
abc
%expr substr "$x" 1 5
abcd
%expr substr "$x" 2 5
bcd
# 方法二
# ${x:pos:lenght}
%echo ${x:1}
bcd
%echo ${x:2}
cd
%echo ${x:0}
abcd
%echo ${x:0:2}
ab
%pos=1
%len=2
%echo ${x:$pos:$len}
bc


匹配正則表達(dá)式

代碼如下:
代碼:
# 打印匹配長(zhǎng)度
%expr match $x "."
1
%expr match $x "abc"
3
%expr match $x "bc"
0

字符串的掐頭去尾

代碼如下:
代碼:
%x=aabbaarealwwvvww
%echo "${x%w*w}"
aabbaarealwwvv
%echo "${x%%w*w}"
aabbaareal
%echo "${x##a*a}"
lwwvvww
%echo "${x#a*a}"
bbaarealwwvvww

其中 , # 表示掐頭, 因?yàn)殒I盤(pán)上 # 在 $ 的左面。
其中 , % 表示%,  因?yàn)殒I盤(pán)上 % 在 $ 的右面。
單個(gè)的表示最小匹配,雙個(gè)表示最大匹配。
也就是說(shuō),當(dāng)匹配的有多種方案的時(shí)候,選擇匹配的最大長(zhǎng)度還是最小長(zhǎng)度。

字符串的替換

代碼如下:
代碼:
%x=abcdabcd
%echo ${x/a/b} # 只替換一個(gè)
bbcdabcd
%echo ${x//a/b} # 替換所有
bbcdbbcd

不能使用 regexp ,只能用 * ? 的文件擴(kuò)展方式。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 墨玉县| 方正县| 仪陇县| 柘荣县| 理塘县| 顺平县| 湖北省| 华宁县| 政和县| 普格县| 江永县| 佛坪县| 棋牌| 岢岚县| 广灵县| 绥江县| 阿鲁科尔沁旗| 新沂市| 阿拉善左旗| 从江县| 长汀县| 楚雄市| 旅游| 农安县| 淳化县| 翁源县| 育儿| 环江| 鄂托克旗| 黎城县| 巴马| 鹤庆县| 石台县| 安西县| 富川| 得荣县| 积石山| 浦东新区| 扶沟县| 六枝特区| 两当县|