linux初学者-正则表达式
在windows中,是没有办法批量处理文件的,但是在linux系统中,可以通过命令直接处理一系列文件,这些文件的处理就需要用到正则表达式。这同样可以应用与目录。
1、处理多个文件
正则表达式中批量处理文件常用的有"{}"。例如如果需要建立文件"file1"-"file10",如果在windows中,只能一个一个建立,但是在linux中,可以直接通过正则表达式来实现,建立这十个文件,可以输入命令"touch file{1..10}",目录中就会直接出现十个文件了。"1..10"中的数字也可以换成字母组合。如果用"{1..3}{a..b}"则可以表示1a,2a,3a,1b,2b,3b。
同样,可以输入命令"rm -f file{1..10}"来删除这十个文件。也同样适用于复制、移动。
2、匹配字符
匹配字符主要应用于批量处理具有某种共同特征的文件。在匹配的正则表达式中,比较特殊的是"*"和"?","*"可以匹配到任意位数的任意字符。"?"可以匹配到任意的单个字符,可以叠加使用。如现有文件"file5"到"file10",使用"rm -f file*"可以直接删除这6个文件。如果使用"rm -f file?",则删除文件"file"后面只有一位的文件,不会删除"file10"。
如果有文件名为"wae""wAe""w1e""w!e""w e"的文件,删除不同类型的文件,则需要不同的匹配命令。
输入"rm -f w[[:lower:]]e"可以删除"wae"文件。
"rm -f w[[:upper:]]e"可以删除"wAe"文件。
输入"rm -f w[[:digit:]]e"删除"w1e"文件。
输入"rm -f w[[:punct:]]e"可以删除"w!e"文件。
输入"rm -f w[[:space:]]e"可以删除"w e"文件。
[[:lower:]]匹配单个小写字母,[[:upper:]]匹配单个大写字母,[[:digit:]]配单个数字,[[:punct:]]匹配单个符号,[[:space:]]匹配单个空格,除此之外,[[:alpha:]]匹配单个字母,[[:alnum:]]匹配单个数字或字母。
如果有文件"file1"-"file5",如果需要删除其中的"file1"和"file3"和"file5",则需要用到另一种正则表达式[135],这表示1或者3或者5,即输入命令"rm -f file[135]"。也可以用[!24]或者[^24],这表示除了2并且除了4。需要注意的是,"{}"可以用于存在或者不存在的文件,但是"[]"只能用于存在的文件。
需要注意的是,"{}"可以用于存在或者不存在的文件,但是"[]"只能用于存在的文件。
上述就是正则表达式的一般应用。
linux初学者-正则表达式的更多相关文章
- linux shell 正则表达式(BREs,EREs,PREs)差异比较
linux shell 正则表达式(BREs,EREs,PREs)差异比较 则表达式:在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符 串的单个字符串.在很多文本编辑器或其他工具里 ...
- Linux初学者必知的5个学习网站
分享几个Linux初学者一定要知道的5个学习网站 工具/原料 有一颗学习Linux的心 电脑 方法/步骤 1 推荐一:鸟哥的Linux私房菜(http://vbird.dic.ksu.edu.tw/) ...
- ## 本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘
本篇文章对linux常用的一些命令做一下总结,如有需要补充以及不懂得地方,请在下方留言 适合于linux初学者,以及对命令掌握不牢的用来备忘一,磁盘管理1.显示当前目录位置 pwd2.切换目录 cd ...
- 07: linux中正则表达式与grep使用
1.1 linux中正则表达式 1.^linux 以linux开头的行 2.$php 以php结尾的行 3.. 匹配任意单字符 4..+ ...
- linux shell 正则表达式(BREs,EREs,PREs)的比较
原文 : linux shell 正则表达式(BREs,EREs,PREs)差异比较 在使用 linux shell的实用程序,如awk,grep,sed等,正则表达式必不可少,他们的区别是什么 ...
- linux初学者-SElinux篇
linux初学者-SElinux篇 SElinux是强制访问控制(MAC)安全系统,是linux历史上最杰出的新安全系统.对于linux安全模块来说,SElinux的功能是最全面的,测试也是最充分的, ...
- linux初学者-firewall篇
linux初学者-firewall篇 firewalld是防火墙的另一种程序,与iptables相同,但是使用起来要比iptables简单的点,不需要了解3张表和5条链也可以使用. 1.firewa ...
- linux初学者-mail篇
linux初学者-mail篇 邮件是在生活中比较常用的一个工具,在linux系统中的邮件也是.在linux中,邮件的发送所用的服务时postfix,邮件的接收所用的服务是pop(110端口).ima ...
- linux初学者-iptables篇
linux初学者-iptables篇 iptables是防火墙的一种,是用来设置.维护和检查linux内核的IP过滤规则的,可以完成封包过滤.封包重定向和网络地址转换(NAT)等功能. iptabl ...
随机推荐
- Dev C++ 工程没有调试信息 解决办法
Dev C++ 工程没有调试信息 解决方法DevC++4.9.9.2中,按 F8 开始调试.提示信息为:工程没有调试信息,您想打开工程的调试选项并重新生成吗?选择是后,再按F8,仍旧是这个信息.什么原 ...
- java中Array和ArrayList区别
1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array([]):最高效:但是其容量固定且无法动态改变: ArrayList: 容量可动态增长:但牺 ...
- serverless 项目配置及创建helloworld应用(二)
阅读目录 一:学习使用AWS Lambda来作为服务器引擎 二:使用serverless环境搭建 三:创建我们的第一个应用,hello world 服务 回到顶部 一:学习使用AWS Lambda来作 ...
- 在前后端分离项目中使用SpringBoot集成Shiro
前言 这次在处理一个小项目时用到了前后端分离,服务端使用springboot2.x.权限验证使用了Shiro.前后端分离首先需要解决的是跨域问题,POST接口跨域时会预发送一个OPTIONS请求,浏览 ...
- 死磕 java同步系列之CyclicBarrier源码解析——有图有真相
问题 (1)CyclicBarrier是什么? (2)CyclicBarrier具有什么特性? (3)CyclicBarrier与CountDownLatch的对比? 简介 CyclicBarrier ...
- 使用wireshark抓包分析-抓包实用技巧
目录 使用wireshark抓包分析-抓包实用技巧 前言 自定义捕获条件 输入配置 输出配置 命令行抓包 抓取多个接口 抓包分析 批量分析 合并包 结论 参考文献 使用wireshark抓包分析-抓包 ...
- Django 你需要掌握的模型层(标签、过滤器、模板的继承与导入)
Django 模型层(标签.过滤器.模板的继承与导入) 好文章来自超哥:https://www.cnblogs.com/guanchao/p/11006062.html 过滤器/自定义过滤器 模板 ...
- 求你了,再问你Java内存模型的时候别再给我讲堆栈方法区了…
GitHub 4.1k Star 的Java工程师成神之路 ,不来了解一下吗? GitHub 4.1k Star 的Java工程师成神之路 ,真的不来了解一下吗? GitHub 4.1k Star 的 ...
- 跟我学SpringCloud | 第三篇:服务的提供与Feign调用
跟我学SpringCloud | 第三篇:服务的提供与Feign调用 上一篇,我们介绍了注册中心的搭建,包括集群环境吓注册中心的搭建,这篇文章介绍一下如何使用注册中心,创建一个服务的提供者,使用一个简 ...
- [hdu-6395]Sequence 分块+矩阵快速幂
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6395 因为题目数据范围太大,又存在递推关系,用矩阵快速幂来加快递推. 每一项递推时 加的下取整的数随 ...