Linux shell正则表达式如何匹配引号内的shell字符串里双引号

shell编程怎么抽取匹配正则表达式的字符串?_百度知道
shell编程怎么抽取匹配正则表达式的字符串?
比如说现在有一个字符串 helloworld.txt 我想从中读取这里面的这一段然后把它赋给其他变量,能否用正则表达式来完成这样的工作呢?如果可以的话,应该怎么做?好像一般用grep只能匹配整行是吗?
我最初的目的是想重命名一批文件,从原文件名...
我有更好的答案
a=$( expr 'helloworld.txt' : '.*\([0-9]\{8\}\).*' )echo $alinux shell 中可以将命令的结果赋值给变量,$(命令)这种格式将返回命令执行后的结果字符串上面命令执行后,变量a的值是 a=`echo
'helloworld.txt'|sed 's/.*\([0-9]\{8\}\).*/\1/'`这个命令作用也是一样,变量a被赋值为
嗯,受教了,多谢!另外请问有没有专门讲这些的教材呢?我看了一些讲shell编程的书,里面没有提到expr命令的用法。。
linux命令起码成百上千,每个命令最少有十来个参数,一本书肯定讲不完,只有用时多看man文档如果只是学习文本处理的话,有本书好像名字是 “sed&awk&之类的,可以参考一下
采纳率:82%
来自团队:
为您推荐:
其他类似问题
正则表达式的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。shell 正则匹配一条字符串并且获取该字符串中所有匹配到的字符_百度知道
shell 正则匹配一条字符串并且获取该字符串中所有匹配到的字符
比如说 $a=&这个一个测试1234.html,还有一个连接2333.html&要获取到1234.html和2333.html
我有更好的答案
显示内容:$ echo &XCBNHTES1234.html,UHNGWWDD3333.html&XCBNHTES1234.html,UHNGWWDD3333.html选出文件名字:$ echo &XCBNHTES1234.html,UHNGWWDD3333.html&| sed -r 's/[^1-9]*([1-9]+\.html)/\1/g'1234.html3333.html文件名之间加空格:$ echo &XCBNHTES1234.html,UHNGWWDD3333.html&| sed -r 's/[^1-9]*([1-9]+\.html)/\1/g' | sed 's/html/html /g'1234.html 3333.html不知道你的详细需求,不知道还有什么特殊情况,仅供参考,谢谢!
$&echo&$a&|&awk&-v&RS=&.html&&'{if(length($0)&1){gsub(&[^0-9]+&,&&);print&$0&.html&}}'1234.html2333.html不清楚正则匹配的条件(关键字)是什么,如有更详细的说明就更好了。暂且只匹配了html,并且假设html的名称都是数字,而其他描述部分都是非数字。
repdetail_2121417.html类型
就是数字不一样,如repdetail_2121418.html repdetail_2131417.html
a=&这是一个测试repdetail_2121413.html,还有一个连接repdetail_2121418.html,还有一个repdetail_2131417.html&echo&$a&|&awk&-F&(repdetail)|(html)&&'/html/{for(i=2;i&NF;i+=2)&print&&repdetail&$i&html&}'以&repdetail 和&html 为字段分隔符,打印偶数字段并补全文件名。
有没有试过,不大对!
当然是先试过了才贴上。
OK 谢谢~确实对的 我编码搞错了
本回答被提问者采纳
为您推荐:
其他类似问题
字符串的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。扫一扫体验手机阅读
Shell中的正则表达式及字符串处理
<span type="1" blog_id="967280" userid='
分享到朋友圈
关注作者,不错过每一篇精彩新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 119, 距离下一级还需 81 积分
论坛徽章:0
如下文件,不想显示出文件名中包含2015的文件
012016.log&&1.sh&&.log&&.log&&.log&&201601.log&&A&&B&&dfqafdfa_.log&&kao.log&&run.log
# ls *[^2016]*.log
.log&&dfqafdfa_.log&&kao.log&&run.log
这样却不对
实际我想得到
1.sh A B kao.log&&run.log
家境小康, 积分 1571, 距离下一级还需 429 积分
论坛徽章:32
ls --hide=*2016
富足长乐, 积分 5722, 距离下一级还需 2278 积分
论坛徽章:6
ls&&!(*2016*)复制代码其实这不是严格意义上的正则表达式,只是shell强大的文件名通配。
白手起家, 积分 119, 距离下一级还需 81 积分
论坛徽章:0
不行呢,bash和csh都试过了
# ls --hide=*2016
012016.log&&1.sh&&.log&&.log&&.log&&201601.log&&A&&B&&dfqafdfa_.log&&kao.log&&run.log
白手起家, 积分 119, 距离下一级还需 81 积分
论坛徽章:0
ls is aliased to `ls $LS_OPTIONS'
# echo $LS_OPTIONS
-A -N --color=tty -T 0
# unalias ls
ls is hashed (/bin/ls)
# ls --hide=*2016
012016.log&&1.sh&&.log&&.log&&.log&&201601.log&&A&&B&&dfqafdfa_.log&&kao.log&&run.log
大富大贵, 积分 16531, 距离下一级还需 3469 积分
论坛徽章:28
ls|grep -v 2016
ls|grep -P '^((?!2016).)*复制代码
白手起家, 积分 119, 距离下一级还需 81 积分
论坛徽章:0
有没有不用grep的方法回复
moperyblue
白手起家, 积分 119, 距离下一级还需 81 积分
论坛徽章:0
是在什么sh下?测试bash和csh不行
# ls !(*2016*)
-bash: !: event not found
# ls !(*2016*)
Badly placed ()'s.
大富大贵, 积分 16531, 距离下一级还需 3469 积分
论坛徽章:28
本帖最后由 moperyblue 于
19:42 编辑
ls --hide=*2016*
白手起家, 积分 10, 距离下一级还需 190 积分
论坛徽章:0
--hide=PATTERN
& && && && &&&do not list implied entries matching shell&&PATTERN&&(overridden by -a or -A)
你的 $LS_OPTIONS 有-A了
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处10:06&&&&&&&&}

我要回帖

更多关于 shell 字符串去除引号 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信