Linux 正则表达式详解
2023-09-11 14:20:11 时间
正则表达式(REGULAR):为处理大量的字符串而定义的一套规则和方法,为了处理大量字符串而生
常见命令参数
基础正则表达式
. :有且只有任意一个字符(包括空格) * :重复前面任意0或者多个字符 .*:匹配任意字符==>所有,包括空格 \ :转义字符,让有意义的字符,显示原型 \$ --> $本身 ^ :^d 以d开头的文件 $ :/$ 以/结尾的文体 ^$:表示空行 grep -vn "^$" h.txt -->不显示空行 -n 显示行号 sed -r 's#(.*) fff#I am \1#g' h.txt 仅仅取每一行的()里面的东西 r==reqular [abc] 匹配字符集内的任意一个字符 [0-9]匹配0-9 [a-z] a-z [^abc] 不匹配字符集内的任意字符,相当于取反 a\{n,m} 重复前一个字母,n到m次 grep "0\{2\}" h.txt 重复0 2次 ==> egrep "0{2}" h.txt ==> grep -E "0{2}" h.txt \{n,\} 重复至少n次 \{,m\} 重复之多m次 注意:egrep ,sed -r过滤一般特殊字符可以不转义 \w : 只打印字母 grep "\w" h.txt --> a b c d e f g h i \W : 打印非字母 \b :匹配单词的定界符 grep "\bhello\b" h.txt \d : 表示数字
常用的命令展示
扩展正则表达
扩展正则表达式:多用于 egrep,grep -E 1. + 重复一个或者一个以上的字符 grep -Eo "go+d" h.txt --> god good 2. ?重复0个或者一个 比 . 的范围大 grep -Eo "g?d" h.txt --> gd, d grep -Eo "go?d" h.txt --> gd god 3. | 查询多个符合的字符串 grep -Eo "hello|world" --> hello world 4. ()找出"用户组"字符串 egrep "g(la|oo)d" h.txt --> good glad
关于正则的一些小知识
1.Linux中适用于:grep,egrep,awk,sed, 2.区别通配符和正则 例如 ls *.log这里的 * 表示 所有的 3.Linux一般以行为单位 4.注意字符集 export LC_ALL=C 5.可以在 man grep/sed 过滤REGULAR 查看更多正则
相关文章
- [Linux] Systemd 入门教程:命令篇
- 【视频】 Linux高级程序设计01.2开发平台及Linux环境限制
- 【Linux】linux常用查看命令
- 每天一个linux命令(24):Linux文件类型与扩展名
- 每天一个linux命令(23):Linux 目录结构
- 判断Linux是否64位
- linux vi 删除一行,复制一行命令,删除所有空白行
- 一文掌握 Linux 性能分析之网络篇
- linux shell 脚本攻略学习17--正则表达式入门
- Spark修炼之道(基础篇)——Linux大数据开发基础:第十四节:Shell编程入门(六)
- Linux Shell脚本自动化编程实战-for循环
- Linux pgrep命令查找正在运行的进程ID
- kickstart批量安装Linux系统
- 【Linux 内核 内存管理】物理分配页 ① ( 分区伙伴分配器物理分配页核心函数 __alloc_pages_nodemask | __alloc_pages_nodemask 函数完整源码 )
- L84.linux命令每日一练 -- 第11章 Linux系统管理命令 -- rpm和yum
- L45.linux命令每日一练 -- 第七章 Linux用户管理及用户信息查询命令 -- sudo和id
- L2.linux命令每日一练 -- 第一章 Linux命令行简介
- linux正则表达式筛选IP地址的三种方式
- 嵌入式Linux开发,Ubuntu22下交叉编译报错:arch64-linux-gnu-gcc: error while loading shared libraries: libstdc++.so.
- 嵌入式Linux开发,Ubuntu22下交叉编译报错:make[1]: aarch64-linux-gnu-gcc: No such file or directory
- linux下常用压缩命令 tar压缩Linux解压 压缩Linux压缩Ubuntu压缩centos压缩解压gz txt.gz
- 02 从头开始atac项目 ubuntu20 install r4.2 Linux系统环境配置 服务器版本的rstudio r install in linux /ubuntu/centos