linux下的正规表示法常用记录

前几天,看一些文档的时候,看到了对字符操作的一种表示方法,那就是正规表示法,翻看百科中对正规表示法的概述有下面一段文字的描述。

正则表达式(英语:Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持利用正则表达式进行字符串操作。

显然,我们所说的正规表示法就是处理字符的一种表示方法,另外我又在另一本书上看到了一些相关的语句介绍,就是针对常见的那些正规表示法的总结。

比如grep,就是最简单的字符串摘取程序,基于此,下面记录下几个要知道的特殊符号:

[:alnum:] 代表英文大小写,亦即 0-9 a-z A-Z

[:alpha:] 代表任何英文字符及数据,亦即 a-z A-Z

[:upper:] 代表大写字符

[:lower:] 代表小写字符

[:digit:] 代表数字

[:xdigit:] 代表16进制的数字类型,因此包括 0-9 a-f A-F

grep在数据中查询一个字符串的时候是以正行为单位进行数据的摘取的,grep -n -Ax -By --color=auto ‘字符串‘ file
n为显示行号,-Ax代表显示将要查找字符的后X行, -By 代表显示将要查找的字符的前y行, --color=auto 表示将关键词部分用颜色标注, 接下来的是将要查找的字符串和将要查找的文件。

这里面需要注意的是通常的情况下,在我们的用户目录下面.bashrc中已经加入了--color=auto 所以经常的情况下,我们在使用grep 的时候,我们不用再加上这一句的限制了。

还有对符号 ^ 该符号在字符集合符号[]之内之外是不同的,在[]内代表反向的选择,在[]之外则代表定位在首行的意义,这个我们需要稍微的注意以下的.

附上两个简单的例子,以供再次回味的时候更快的理解:

grep -n ‘^the‘ file 找出文件中以the开头的行。

grep -n ‘^$‘ file 找出文件中的空行。

时间: 2024-08-29 14:37:50

linux下的正规表示法常用记录的相关文章

linux下history命令显示历史指令记录的使用方法

linux下history命令显示历史指令记录的使用方法 History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 .1>History命令语法: [[email protected]]# history [n][[email protected]]# history [-c][[email protected]]# history [-raw] histfiles参数:n   :数字,要列出最近的 n 笔命令列表-c  :将目前的shell中的所有 history 内容全部消除-

Linux下修改系统编码的操作记录

Linux系统安装后,发现中文显示乱码.因为系统编码为en_US.UTF-8,应改为支持中文的编码(即zh_CN.UTF-8)操作记录如下:1)检查linux的系统编码检查linux的系统编码,确定系统是否支持中文.在linux系统的终端中输入命令:locale,就会看到打印出的系统编码信息.[[email protected] ~]# localeLANG=en_US.UTF-8                        LC_CTYPE="en_US.UTF-8"LC_NUME

LInux下常用开发环境和软件记录

0. 前言 在升级Ubuntu18.04时经历了惨无人道的桌面丢失问题,备份了资料之后重装解决.但是安装过的软件和配好的环境都丢了,只能重来. 重装后发现重重叠叠的大额头太难看了,严重降低屏幕利用率.而且默认的桌面换为gnome后,速度反而变慢了,更换闭源驱动后依旧卡卡的.网上查了会资料,决定换用deepin.我等凡人还是专注于解决自身的问题比较好,系统上就不大刀阔斧的改了.当前状态下,以不折腾,少折腾为重. deepin配置起来要比Ubuntu轻松快捷一万倍,而且好看程度跟配好的unity难分

linux下syslog-ng日志集中管理服务部署记录

syslog是Linux系统默认的日志守护进程,默认的syslog配置文件是/etc/syslog.conf文件.syslog守护进程是可配置的,它允许人们为每一种类型的系统信息精确地指定一个存放地点.比较 syslog ,syslog-ng 具有众多高级的功能:更好的网络支持,更加方便的配置,集中式的网络日志存储,并且更具有弹性.比如,使用syslogd时,所有的iptables日志与其他内核日志一起全部存储到了kern.log文件里.Syslog-ng则可以让你有选择性的将iptables部

Linux下使用Quagga(Zebra)搭建路由器记录

写在前面 从22号中午开始琢磨zebra/quagga的用法,一直到晚上11点多都没有什么头绪.各种Google,百度,几近崩溃.由于网上关于zebra/quagga的配置方法都是在真实的若干台电脑上实现的,一直都没有找到完全在虚拟机上进行测试的教程,相当失望.所以,我就决定,如果我要是能够利用多台虚拟机完成实验的内容,我一定要写一个详细的文档放到博客上. 没有办法,索性自己慢慢摸索吧,但花了一天的时间也没有成功.直到快睡觉的时候才突然想到,会不会跟我在Virtual Box上设置采用NAT方式

linux下mutt邮件发送系统安装操作记录

之前介绍了Linux下sendmail和sendemail邮件系统环境部署,今天介绍下使用mutt发送邮件的环境部署过程.mutt这个软件,它是一款基于文字界面的邮件客户端,是一款功能强大的email程序,非常小巧,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收发邮件和附件. 1)mutt的安装[[email protected] ~]# yum -y install sendmail                  //需要安装sendmail并开启防火墙的25端口,如

Linux下C语言编程基础学习记录

VIM的基本使用  LINUX下C语言编程 用gcc命令编译运行C语言文件 预处理阶段:将*.c文件转化为*.i预处理过的C程序. 编译阶段:将*.i文件编译为汇编代码*.s文件. 汇编阶段:将*.s文件转化为*.o的二进制目标代码文件. 链接阶段:将*.o文件转化为可执行文件. 生成可执行文件:将*.o转换为可执行文件. 执行可执行C语言文件. gcc常用选项列表 -c      只编译不链接,生成目标文件“.o” -S      只编译不汇编,生成编码代码 -E      只进行预编译,不做

Linux下经常使用的shell命令记录

硬件篇 CPU相关 lscpu #查看的是cpu的统计信息. cat /proc/cpuinfo #查看CPU信息具体信息,如每一个CPU的型号,主频等 内存相关 free -m #概要查看内存情况 这里的单位是MB cat /proc/meminfo #查看内存具体信息 磁盘相关 lsblk #查看硬盘和分区分布,显示非常直观 df -h #查看各分区使用情况 cat /proc/partitions #查看硬盘和分区 mount | column -t #查看挂接的分区状态 网卡相关 lsp

Linux下批量管理工具pssh使用记录

pssh是一款开源的软件,使用python实现,用于批量ssh操作大批量机器:pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的:比起for循环的做法,我更推荐使用pssh!使用pssh的前提是:必须在本机与其他服务器上配置好密钥认证访问(即ssh信任关系). 下面就说下使用pssh进行批量操作的记录: 1)安装pssh可以yum直接安装:[[email protected] ~]# yum install -y pssh 2)pssh用法[[email pr