shell 正则表达式匹配文件名(在shell怎么替换指定位置的字符)

发布时间:2023-11-29 16:10:17
发布者:网友

其实shell 正则表达式匹配文件名的问题并不复杂,但是又很多的朋友都不太了解在shell怎么替换指定位置的字符,因此呢,今天小编就来为大家分享shell 正则表达式匹配文件名的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

一、shell是谁创造的

1、作者:(印度)拉克什曼(SarathLakshman)译者:门佳

2、SarathLakshman,年轻的Linux天才程序员、开源软件及GNU/Linux活跃分子,写作本书时年仅20岁。他在印度出生并成长,目前是印度科钦科技大学模范工程学院的学生。2004年,他就开发了名为Slynux的GNU/Linux发布版。另外,他还为LinuxForyou月刊撰写文章。在Fedora、PardusLinux、PiTiVi、Ubuntu以及GoogleSummerofCode等项目中,他都作出了显著的贡献。

3、门佳,Unux/Unixshell、PerI、正则表达式爱好者。2001年开始接触Linux,并喜欢上了这个系统,从此发现了另一个不同的世界。同时对网络协议分析、Web技术以及社会心理学也颇有兴趣。除此之外。还是一位轻度宅男、豆瓣控

二、为什么要学shell脚本编程(多一个技能,多条

1、在UNIX/Linux系统中,除了需要熟练掌握高级语言的编程之外(例如:C、C++、Python等),最好还需要再学习一下SHELL脚本编程。

2、因为UNIX/Linux系统的SHELL功能是非常、非常强大的,可以这样说:只要真正熟练掌握了SHELL编程技术,几乎没有UNIX/Linux管理员做不到的事情!当然了,如果真的要熟练掌握SHELL编程技术,那还是需要花费相当多的时间和精力去学习的。包括:正则表达式、模式匹配等、输入/输出重定向、管道操作PIPE等等。

三、在shell怎么替换指定位置的字符

1、readip

sed-ri"/subnet/s/(subnet)[^]+(netmask.*)/\1$ip\2/"/mnt/file

2、sed-ri"/subnet/s/(subnet)[^]+(netmask.*)/\1$ip\2/"/mnt/file

3、/subnet/-先正则匹配到含有subnet的行,然后替换。

4、替换的时候将不变的部分用小括号括起来,后面依次用\1,\2原封不动地引用回来。

5、-r选项用于支持扩展正则,这样就不需要额外的转义符。

6、[^]表示不为空格的任意一个字符,+表示重复该字符至少1次。

四、Linuxshell中如何从路径名提取指定字符串

1、这个不需要正则式效率差,难理解。使用两次shell扩展就可以了。#!/bin/basha="$1"a="${a##*-}"#从开头删除到顺数最后一个减号。a="${a%\.*}"#从结尾删除到倒数第一个小数点。

2、echo"$a"脚本保存为a.sh执行命令./a.sh“/home/lxy/hhhhh-a.bbb.cc.d”请把参数用引号括住。得到a.bbb.cc说明:${parameter#pattern}和${parameter##pattern}掐头,#是最小匹配,##是最大匹配,将变量从开头匹配pattern,最后扩展为原变量值去掉匹配的内容后的内容。

3、${parameter%pattern}和${parameter%%pattern}去尾,%是最小匹配,%%是最大匹配,将变量从结尾匹配pattern,最后扩展为原变量值去掉匹配的内容后的内容。

文章到此结束,如果本次分享的shell 正则表达式匹配文件名和在shell怎么替换指定位置的字符的问题解决了您的问题,那么我们由衷的感到高兴!

——————————————小炎智能写作工具可以帮您快速高效的创作原创优质内容,提高网站收录量和各大自媒体原创并获得推荐量,点击右上角即可注册使用

小炎智能写作