Shell中的贪婪匹配和非贪婪匹配

非贪婪匹配,即匹配符合通配符的最短结果。

贪婪匹配,即匹配符合通配符的最长结果徐翰。

下面案例为例:

1、${VALUE%.*}或${VALUE%%.*}:

删除VALUE字搜狗输入法,喝酒游戏,莲花山符串中以分隔符"."匹配的右边字符,保留左边字符。

简单解释:

*:通配符,用于匹配楚门的世界妻子叠手指字符串将被删除的子火山泥一洗白真的假的串。

.:分割符,可以为任意一个或多个字符。

%:从右向左匹配。

%:非贪婪大连维特奥国际医院匹配,即匹配符合通配符的最短结果。

%%:贪婪匹配,即匹配符合通排名第一的铜嘴叫声配符的最长结果。

(1) 、${VALU保护色赵钶E%.*} and ${VALUE%%.*}

//非贪婪匹配

//%:从右向左匹配。

//删除name字符串中以分隔符"y"匹配的右边字符,保留左边字符。

[odysee@kin三朵花相加等于60gdom shellFiles]$ name=odysee_odysee

[odysee@kingdom shellFilers8奥迪s]$ esober歌词c轩辕靖日和闲佑出柜ho ${na李瑞镇忘不了金廷恩me%y*}

odysee_od

补林泉简溪充:非贪婪,遇到的第一个y

从右向左,删右留左

odysee_od(留左) y see(删右)

//贪婪匹配

//%:从右向左匹配。

//删除name字符串中以分隔符"y"匹配的右边字符,保留左边字符。

//遇到的最长的y

[odysee@kingdom shellFiles]$ ech楚王宁奕o ${name%%y*}

od

补充:贪婪

从右向左,删右留左

od(留左) y see_ody拿破仑格斯see(删右)

补充:

1、${VALUE%.*}或${VALUE%%.*}:

删除VALUE字符串中以分隔符"."匹配的右边字符,保留左边字符。

2、${VA绿管家LUE#*.}或${VALUE##*.}:

删除VALUE字符串中以分隔符"."匹配仙莲劫漫画的左边字符,保留右边字符。

3、${VALUE/OLD/NEW}或${VALUE//OLD/NEW}:

用NEW子串替换VALUE字符牛留栓富豪榜排名串中匹配的OLD子串。

简单解释:

*:通配符,用于匹配字符串将被删除的子串。

.:分割符康宝瑞奶粉最新事件,可以为任意一个或多个字符。

%:从右向左匹配。

#:从左向右匹配。

/:表示替换。

% # /:非贪婪匹配,即匹配符合通配符的最短结果。

%% ## //:贪婪匹配,即匹配符合通配符的最长结果。

欢迎大家给普通机械铁血兵予宝贵的意见或者建议。

欢迎大家补充或者共享一些其他的方法。

感谢支持。