linux的通配符有哪些(linux使用通配符查询文件)

上海园区招商办公室

联系人:梁经理

联系电话:15000456391

欢迎来电咨询,竭诚为你服务!


Linux中,操作系统一般表示文件的方式是:

文件名.扩展名。

这里介绍几个符号:

%.* 从右向左非贪婪匹配,取匹配字符串最小值后删除。(适合取文件名,因为删除的内容最少)

%%.* 从右向左贪婪匹配,取匹配字符串最大值之后删除。

#*. 从左向右非贪婪匹配,取匹配字符串最小值后删除。

##*. 从左向右贪婪匹配,取匹配字符串最大值后删除。(适合取文件扩展名,因为删除的内容最长)

在Linux系统中,可以借助%操作符,把文件名称部分从“文件名称.扩展名” 格式的文件名提取出来。

比如:

filename="server.log"

name=${filename%.*}

echo file name is $name.

提取文件的扩展名,也就是后缀名可以借助#操作符实现。举例如下:

filename="sample.jpg"

extension=${filename##*.}

echo file extension is $extension.

工作原理:

从文件名.扩展名这种格式的文件中提取名称,使用了%的操作符。

${VAR%.*}的含义是:

从变量$VAR中删除位于%右侧的通配符(.*)所匹配的字符串,通配符从右向左进行匹配。然后从$VAR中删除匹配结果,展示出输出。

%属于非贪婪操作,它从右到左找到匹配通配符的最短结果。%%的行为模式是贪婪匹配,它会匹配符合条件的最长的字符串。

${VAR#*.}的含义是:

从$VAR变量中删除位于#右侧的通配符(*.)所匹配的字符串,通配符从左到右进行匹配。

#也有一个相对应的贪婪操作符##。

##从左到右进行贪婪匹配,并且从指定的变量中删除匹配结果。

操作符#用*.从左到右执行非贪婪匹配。

操作符##用*.从左到右执行贪婪匹配。##执行的是贪婪模式,因此总是能够准确地提取出文件的扩展名,也就是后缀的文件格式。

linux的通配符有哪些(linux使用通配符查询文件)

Linux分支

鼓励的话语:人在一起,最重要的是相互理解和信任。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 792114587@qq.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.dhuoke.com/8527.html