正则表达式

一、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中正则表达式详细命令及代码(附实验笔记)相关推荐

  1. linux中的strip命令(代码打包时瘦身减小大小)

    常用方法 strip abc/* 功能 从目标文件或可执行文件中剥掉一些符号信息和调试信息,使文件变小. 打包时用最合适不过了,可直接缩身包大小. 使用 测试代码abc.c #include < ...

  2. linux rename代码解析,linux中的rename命令的详细解释

    linxu下的rename命令是一个重命名命令,但是主要是批量文件的重命名.下面由学习啦小编为大家整理了linux的rename命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的rena ...

  3. linux中pwd命令详解,linux中的pwd命令的详细解释

    linxu下的pwd命令执行能够立刻知道目前工作目录的路径名称,下面由学习啦小编为大家整理了linux的pwd命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的pwd命令的详细解释 Li ...

  4. Linux 中的 nl 命令详解及C/C++代码实现(文件行数)

    在Linux 操作系统中,如果想编辑文本文件时,希望显示在其前面附加行号的行,这时 Linux 中 nl 命令就派上用场,nl 命令对文件中的行进行编号. Linux nl命令 nl 命令是一个 Un ...

  5. Linux中mv的作用是,linux中的mv命令的详细解释

    linxu下的mv命令是一个常用命令,可以为文件或者目录重命名,下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux的mv命令的详细解释的相关知识,希望对大家有帮助! 一.linu ...

  6. linux中more命令的意思,linux中的more命令的详细解释

    linxu下的more命令是干什么用的呢?下面由学习啦小编为大家整理了linux的more命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的more命令的详细解释 Linux more ...

  7. linux中ping命令详解,linux中的ping命令的详细解释

    linxu下的ping命令的主要功能就是确定网络状态,下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux的ping命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的 ...

  8. Linux 中的 chown 命令详解及C/C++代码实现

    操作系统中的不同用户拥有所有权和权限,以确保文件的安全并限制谁可以修改文件的内容.在 Linux 中,chown 命令用于更改系统中另一个用户对文件或目录的所有权. 什么是 chown 命令? cho ...

  9. echo命令详细解析(linux中超级详细,图文展示)

    echo命令详细解析(linux中超级详细,图文展示) echo作为最基本,最常用的命令,在初学linux,或运维操作中,有着广泛性的使用:特别是在写shell脚本的时候,更是会经常性的用到. 虽然e ...

最新文章

  1. mysql主从同步linux,linux中部署mysql主从同步示例详解(绝对经典,看了必会)
  2. fcode-页面九宫格自动锁屏jquery插件
  3. Dataset:fetch_20newsgroups(20类新闻文本)数据集的简介、安装、使用方法之详细攻略
  4. 微擎jsapi支付必须传openid怎么解决_面经腾讯微信支付面试记
  5. vim--之初学轻松几步走
  6. gradle工作流程
  7. realmeq参数配置详情_小米11什么时候发布 小米11参数配置详情
  8. (23)触发器verilog与VHDL编码(学无止境)
  9. 小学计算机课评价方案,小学信息技术课堂评价方法的研究
  10. Windows Phone 7 文件下载进度和速度显示
  11. 明晚 8 点,为你揭秘「AI 换脸术」:剧照 or 视频换脸背后的核心技术与应用
  12. 如何进行“基于示例”的搜索
  13. 四、六级考试的标准分计算方法-“710分转换表”
  14. 关于tc作用在入口(ingress)和出口(egress)效果的调研
  15. windows下postgres数据库软件被损坏的情况下data文件存在恢复数据库
  16. 重庆工商职业学院计算机专业在哪个校区,重庆工商职业学院地址在哪里
  17. turtlebot3 在gazebo仿真下 通过 gmapping slam 建立二维平面地图——全过程
  18. 标签打印软件如何设置打印区域
  19. Tomcat4.1、5.5、6.0的连接池配置及测试程序
  20. 微分dy与改变量Δy的关系【动画理解】

热门文章

  1. 在红帽linux创建目录,redhat linux建文件系统
  2. JDBC-API详解-Statement接口
  3. java圈子_从JAVA入了这个圈子,有多少老司机和他一样?
  4. coreldraw 长方体_用coreldraw 11制作铅笔_coreldraw教程
  5. 传统目标跟踪——卡尔曼滤波Kalman(结合MeanShift+Kalman)
  6. matlab实现数据压缩,【Matlab】Huffman编码如何实现数据压缩
  7. 1258:数字金字塔
  8. 汇编语言 | CALL 和RET指令
  9. @赛迪顾问拍了拍我:数据标注基地全国多点开花
  10. 读取excel批量生成二维码