Linux中正则表达式详细命令及代码(附实验笔记)
正则表达式
一、sort命令
以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序
(1)语法格式:
sort [选项] 参数常用选项:
-f:忽略大小写
-b:忽略每行前面的空格
-M:按照三字符月份进行排序
-n:按照数字进行排序
-r:反向排序
-u:等同于uniq,表示相同的数据仅显示一行
-t:指定字段分隔符,默认使用[Tab]键分隔
-k:指定排序字段
-o [输出文件]:将排序后的结果转存至指定文件
例:
sort -n testfile2
sort -t ':' -k 3 -n /etc/passwd
du -ah | sort -nr -o du.txt
二、uniq命令
语法格式:
uniq [选项] 参数常用选项:
-c:进行计数,并删除文件中重复出现的行
-d:仅显示重复行
-u:仅显示出现一次的行
三、tr命令
语法格式:
tr [选项] [参数]常用选项:
-c:保留字符集1的字符,其他的字符用(包括换行符\n)字符集2替换
-d:删除所有属于字符集1的字符
-s:将重复出现的字符串压缩为一个字符串;用字符集2 替换 字符集1
-t:字符集2 替换 字符集1,不加选项同结果。字符集1:指定要转换或删除的原字符集。
字符集2:指定要转换成的目标字符集。
删除空行
echo -e "aa\n\n\n\n\nbb" | tr -s "\n"
把路径变量中的冒号":",替换成换行符"\n"
echo $PATH | tr -s ":" "\n"
(1)基础正则表达式常见元字符
支持的命令工具:grep、egrep、sed、awk
\ :转义字符,用于取消特殊符号的含义
例:\!、\n、\$等^ :匹配字符串开始的位置,
例:^a、^the、^#、^[a-z] $ :匹配字符串结束的位置
例:word$、^$匹配空行. :匹配除\n之外的任意的一个字符
例:go.d、g..d* :匹配前面子表达式0次或者多次
例:goo*d、go.*d[list] :匹配list列表中的一个字符
例:go[ola]d,[abc]、[a-z]、[a-z0-9]、[0-9]匹配任意一位数字[^list] :匹配任意非list列表中的一个字符,
例:[^0-9]、[^A-Z0-9]、[^a-z]匹配任意一位非小写字母\{n\} :匹配前面的子表达式n次,
例:go\{2\}d、'[0-9]\{2\}'匹配两位数字\{n,\} :匹配前面的子表达式不少于n次,
例:go\{2,\}d、'[0-9]\{2,\}'匹配两位及两位以上数字\{n,m\} :匹配前面的子表达式n到m次,
例:go\{2,3\}d、'[0-9]\{2,3\}'匹配两位到三位数字
注:egrep、awk使用{n}、{n,}、{n,m}匹配时“{}”前不用加“\”
(2)扩展正则表达式元字符
支持的命令工具:egrep、awk
+ :匹配前面子表达式1次以上
例:go+d,将匹配至少一个o,如god、good、goood等? :匹配前面子表达式0次或者1次
例:go?d,将匹配gd或god() :将括号中的字符串作为一个整体
例:g(oo)+d,将匹配oo整体1次以上,如good、gooood等| :以或的方式匹配字条串
例:g(oo|la)d,将匹配good或者glad
例:正则表达式匹配E-mail地址
邮箱可以分为三部分:
用户名@ :
^([a-zA-Z0-9_\-\.\+]+)@子域名 :
([a-zA-Z0-9_\-\.]+).顶级域名 :
\.([a-zA-Z]\{2,5\})$用awk和egreap都可以进行操作,就是格式不同
egrep:
egrep '^([a-zA-Z0-9_\-\.\+]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$' email.txt
awk:
awk '/^([a-zA-Z0-9_\-\.\+]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/{print $0}' email.txt
Linux中正则表达式详细命令及代码(附实验笔记)相关推荐
- linux中的strip命令(代码打包时瘦身减小大小)
常用方法 strip abc/* 功能 从目标文件或可执行文件中剥掉一些符号信息和调试信息,使文件变小. 打包时用最合适不过了,可直接缩身包大小. 使用 测试代码abc.c #include < ...
- linux rename代码解析,linux中的rename命令的详细解释
linxu下的rename命令是一个重命名命令,但是主要是批量文件的重命名.下面由学习啦小编为大家整理了linux的rename命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的rena ...
- linux中pwd命令详解,linux中的pwd命令的详细解释
linxu下的pwd命令执行能够立刻知道目前工作目录的路径名称,下面由学习啦小编为大家整理了linux的pwd命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的pwd命令的详细解释 Li ...
- Linux 中的 nl 命令详解及C/C++代码实现(文件行数)
在Linux 操作系统中,如果想编辑文本文件时,希望显示在其前面附加行号的行,这时 Linux 中 nl 命令就派上用场,nl 命令对文件中的行进行编号. Linux nl命令 nl 命令是一个 Un ...
- Linux中mv的作用是,linux中的mv命令的详细解释
linxu下的mv命令是一个常用命令,可以为文件或者目录重命名,下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux的mv命令的详细解释的相关知识,希望对大家有帮助! 一.linu ...
- linux中more命令的意思,linux中的more命令的详细解释
linxu下的more命令是干什么用的呢?下面由学习啦小编为大家整理了linux的more命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的more命令的详细解释 Linux more ...
- linux中ping命令详解,linux中的ping命令的详细解释
linxu下的ping命令的主要功能就是确定网络状态,下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux的ping命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的 ...
- Linux 中的 chown 命令详解及C/C++代码实现
操作系统中的不同用户拥有所有权和权限,以确保文件的安全并限制谁可以修改文件的内容.在 Linux 中,chown 命令用于更改系统中另一个用户对文件或目录的所有权. 什么是 chown 命令? cho ...
- echo命令详细解析(linux中超级详细,图文展示)
echo命令详细解析(linux中超级详细,图文展示) echo作为最基本,最常用的命令,在初学linux,或运维操作中,有着广泛性的使用:特别是在写shell脚本的时候,更是会经常性的用到. 虽然e ...
最新文章
- mysql主从同步linux,linux中部署mysql主从同步示例详解(绝对经典,看了必会)
- fcode-页面九宫格自动锁屏jquery插件
- Dataset:fetch_20newsgroups(20类新闻文本)数据集的简介、安装、使用方法之详细攻略
- 微擎jsapi支付必须传openid怎么解决_面经腾讯微信支付面试记
- vim--之初学轻松几步走
- gradle工作流程
- realmeq参数配置详情_小米11什么时候发布 小米11参数配置详情
- (23)触发器verilog与VHDL编码(学无止境)
- 小学计算机课评价方案,小学信息技术课堂评价方法的研究
- Windows Phone 7 文件下载进度和速度显示
- 明晚 8 点,为你揭秘「AI 换脸术」:剧照 or 视频换脸背后的核心技术与应用
- 如何进行“基于示例”的搜索
- 四、六级考试的标准分计算方法-“710分转换表”
- 关于tc作用在入口(ingress)和出口(egress)效果的调研
- windows下postgres数据库软件被损坏的情况下data文件存在恢复数据库
- 重庆工商职业学院计算机专业在哪个校区,重庆工商职业学院地址在哪里
- turtlebot3 在gazebo仿真下 通过 gmapping slam 建立二维平面地图——全过程
- 标签打印软件如何设置打印区域
- Tomcat4.1、5.5、6.0的连接池配置及测试程序
- 微分dy与改变量Δy的关系【动画理解】
热门文章
- 在红帽linux创建目录,redhat linux建文件系统
- JDBC-API详解-Statement接口
- java圈子_从JAVA入了这个圈子,有多少老司机和他一样?
- coreldraw 长方体_用coreldraw 11制作铅笔_coreldraw教程
- 传统目标跟踪——卡尔曼滤波Kalman(结合MeanShift+Kalman)
- matlab实现数据压缩,【Matlab】Huffman编码如何实现数据压缩
- 1258:数字金字塔
- 汇编语言 | CALL 和RET指令
- @赛迪顾问拍了拍我:数据标注基地全国多点开花
- 读取excel批量生成二维码