1.截取指定字符串之后的子串
M:需要進(jìn)行截取的父串
mark:特定子串
match:最終得到的結(jié)果
M=?start_foo_first_foo_second_foo_third_end
mark=foo_
四種不同的語法和相應(yīng)的含義:
match=${M##mark}
在M中從左向右截取最后一個(gè)mark出現(xiàn)之后至結(jié)尾的子串
match=third_end
match=${M#*matk}
在M中從左向右截取第一個(gè)mark出現(xiàn)之后至結(jié)尾的子串
match=first_foo_second_foo_third_end
match=${M%%mark*}
在M中從右向左截取最后一個(gè)mark后的字符串
match=start_
match=${M%%mark*}
在M中從右向左截取第一個(gè)mark后的字符串
match=first_foo_second_
2.指定字符串索引位置的子串截取方法
${M:n1:n2}
M=012345678
使用方法:match=?${M:3:7}
結(jié)果為:match=34567
注意:索引從0開始
3.使用cut截取
cut -d "mark" -f "number"
使用方法:echo "the:editor:is:very:easy:to:use" | cut -d ":" -f 1
結(jié)果為:the
解釋一下:cut -d 表示將標(biāo)準(zhǔn)輸出中的字符串按照緊跟的參數(shù)進(jìn)行分割跪解,在這將字串"the:editor:is:very:easy:to:use"分割為每個(gè)單詞
-f 表示提取上一步分割的單詞序列的第幾個(gè)索引,這里是1晰奖,也就是the這個(gè)單詞
注意:-d 后的參數(shù)只能是單個(gè)字符粱檀。例如:乖坠。#¥&.
-f 的索引是從1開始的并非上一種方法中介紹的從0開始
-f 可以指定索引范圍,例如上例中變?yōu)閑cho "the:editor:is:very:easy:to:use" | cut -d ":" -f 1-3 得到的結(jié)果將是theeditoris
歡迎指正和補(bǔ)充。