- 浏览: 209668 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (391)
- java (18)
- python (3)
- ruby (4)
- linux (48)
- 网络 (9)
- 前端 (2)
- 社会、文化、哲学、人生、百态 (0)
- 工具 (10)
- 下载 (0)
- 常用地址 (0)
- tracert (0)
- mysql (8)
- 开源相关收藏 (1)
- 模块查看依懒 (1)
- watch使用 (1)
- Tcpdump (2)
- easy_install安装 (1)
- 构造redis批量删除脚本 (1)
- MYSQL 性能测试 (1)
- JAVA code encode utf-8 (1)
- linux nginx awk 实时 每妙 (1)
- mkpasswd (1)
- spring security oauth (1)
- jmap dump java memory Analyzer (1)
- JAVA DUMP (1)
- swap linux 过高 解决 (1)
- SWAP (1)
- jmap jstat jstack dump (1)
- java jconsole 的使用 (1)
- git 常用 (1)
- MYSQL 索引 动态 唯一 (1)
- TCP 三次握手 四次挥手 (1)
- linux date (1)
- 删除 空行 注释行 (1)
- maven3 yum linux install repository (1)
- linux git 搭建 (1)
- linux sar eth1 查看 流量 (1)
- sar (1)
- netstat ip 过滤 常用脚本 (1)
- Tcpdump 包分析网络连接过程 (1)
- net ipv4 tcp time wait tw recycle (0)
- /etc/sysctl.conf linux 网络 配置 (1)
- ss 网络连接查看 (比netstat 快很多,实时性牺牲) (1)
- MYSQL 关键字 (1)
- Linux 下多核CPU知识 (1)
- top (1)
- 令牌 证书 (1)
- mysql unix timestamp (1)
- 端口扫描 nc nmap (1)
- 204 http code 状态码 (1)
- ss -s ss -l (1)
- linux 常用 curl (1)
- linux sed 替换 换行 (1)
- centos yum install rpm install (1)
- spring-mvc源码解读 (1)
- 使用iftop查看实时的网络流量 (0)
- linux 命令 expect (1)
- HTTP (1)
- openssl ddif 加密 (1)
- iptables 详解 (1)
- python 虚拟化 VirtualEnv virtualenvwrapper (1)
- nginx (2)
- more less 实用技巧 (1)
- linux nginx (2)
- linux curl https ssl 证书 ca (1)
- openssl (1)
- php mysql linux (1)
- linux 虚拟机 虚拟 xen (0)
- linux 虚拟机 虚拟 xen kvm (1)
- linux perl 单行执行技巧 (1)
- mysql 查看库占用空间 表查用空间 (1)
- linux tcpdump (1)
- maven (1)
- sun.misc.Unsafe (1)
- OpenSSL生成证书 (1)
- http://blog.csdn.net/zzulp/article/details/8018751 (1)
- maven 本地 jar dependency (1)
- 计算JAVA代码行数最简单命令 sed (1)
- 常用的证书格式转换 rsa eg (1)
- 加密 解密 签名 (1)
- 分析jar包冲突 (1)
- 使用JMockit编写java单元测试 (1)
- Linux 技巧:让进程在后台可靠运行的几种方法 (1)
- 环境变量控制 (1)
- 5+ 个 tar 命令的用法,附示例 (1)
- scp自动输入密码 (1)
- ps axo pid (1)
- ppid (1)
- comm (1)
- pmem (1)
- lstart|grep mysql (0)
- lstart (1)
- etime|grep mysql (1)
- UML类图字少好理解 (1)
- HTTP经典文章 (1)
- git (1)
- Git常用命令 (1)
- LINUX 系统被攻击的分析过程 (1)
- NIO (1)
- LINUX 操作快捷键使用 (1)
- openSSL命令、PKI、CA、SSL证书原理 (1)
- shell (2)
- 转载 (1)
- mysqldump 可以直接dump->xml (1)
- VIM比较全面的文章 (1)
- eclipse regex 正则表达式 (1)
- synchronized (1)
- 锁 (1)
- java 正则表达式 regex (1)
- Reference Queue 引用 源码 (1)
- spring aop 源码 分析 (1)
- java @Cache @Transaction 注解 (1)
- spring aop (1)
- spring jdk proxy cglib 动态代理 性能比较 (1)
- spring proxy private public 代理限制 (1)
- spring transaction aop 事务 (1)
- spring autowire 注解注入 (1)
- 桥接 NAT NAT地址转换 内部网络 虚拟网络 (1)
- spring-web-mvc 源码解读 之 RequestMappingHandlerMapping (1)
- find atime mtime ctime -n n +n (1)
- android studio 快捷键初探 (1)
- android 源码阅读的计划 (1)
- 计算机网络学习-VLAN (1)
- sed 高级 合并行 (1)
- CAP 一致性 可用性 分布式容错性 (1)
- android lib so 库文件 (0)
- android lib so 库文件 移植 (1)
- android 不错的博文 (1)
- sourceinsight 源码 阅读 (1)
- Android Tab UI (1)
- 诗 (1)
- mysql 批处理 (0)
- netty 堆外内存 DirectByteBuffer (1)
- netty 并发 百万 推送 (1)
- Linux操作系统中内存buffer和cache的区别 (1)
- maven intellij target bytecode version (1)
- linux sleep()的实现原理 (1)
- android (2)
- javadoc 代码注释规范 (1)
- spring 自动注入bean auto (1)
- Photoshop CS6常用快捷键 (1)
- 股票 数据 机器 分析 (1)
- 批处理 (1)
- mysql -e (1)
- char (1)
- Unicode (1)
- 编码 (1)
- utf8 (1)
- utf-8 (1)
- utf16 (1)
- utf-16 (1)
- IntelliJ IDEA (1)
- ide (1)
- idea (1)
- intellij (1)
- 文件 (1)
- 目录 (1)
- 源代码 (1)
- CountDownLatch (1)
- CyclicBarrier (1)
- Semaphore (1)
- spring (1)
- linux 查看不同进制文件 (1)
- WebMvcConfigurationSupport (1)
- sdkman工具的使用 (1)
- http header (1)
- LINUX系统优化 (1)
最新评论
-
gelongmei:
威武我大酒神
shell脚本不换行刷新数据
linux正则表达式 grep egrep用法
shell命令执行的相应顺序
&&
令1 && 命令2 如果这个命令1执行成功& &那么执行这个命2
mv myfile myfile2 && echo "if you are seeing this then mv was success!"
||
如果| |左边的命令(命令1)未执行成功,那么就执行| |右边的命令(命令2)
mv myfile myfile2 && echo "if you are seeing this then mv was success! "
从一个审计文件中抽取第1个和第2个域,并将其输出到一个临时文件中,如果这一操作未成功,我希望能够收到一个相应邮件:
awk '{print$1,$2}' test3 >test2 || echo "sorry the extraction didn't work " | mail root
(命令1;命令2;. . .)
如果使用{ }来代替(),那么相应的命令将在子s h e l l而不是当前s h e l l中作为一个整体被执行,只有在{ }中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子s h e l l中执行,否则在当前s h e l l执行。
例子:
如果s o r t命令执行成功了,可以先将输出文件备份,然后再打印
test.sorted && (cp test.sorted test.sorted_bak ;lp test.sorted)
经常使用的正则表达式举例
^ 行首
$ 行尾
^ [ t h e ] 以t h e开头行
[ S s ] i g n a [ l L ] 匹配单词s i g n a l、s i g n a L、S i g n a l、S i g n a L
[Ss]igna[lL]". 同上,但加一句点
[ m a y M A Y ] 包含m a y大写或小写字母的行
^ U S E R $ 只包含U S E R的行
[tty]$ 以t t y结尾的行
" . 带句点的行
^ d . . x . . x . . x 对用户、用户组及其他用户组成员有可执行权限的目录
^ [ ^ l ] 排除关联目录的目录列表
^[^d] ls –l | grep ^[^d] 只显示非文件夹的文件
[ . * 0 ] 0之前或之后加任意字符
[ 0 0 0 * ] 0 0 0或更多个
[ iI] 大写或小写I
[ i I ] [ n N ] 大写或小写i或n
[ ^ $ ] 空行
[ ^ . * $ ] 匹配行中任意字符串
^ . . . . . . $ 包括6个字符的行
[a- zA-Z] 任意单字符
[ a - z ] [ a - z ] * 至少一个小写字母
[ ^ 0 - 9 " $ ] 非数字或美元标识
[ ^ 0 - 0 A - Z a - z ] 非数字或字母
[ 1 2 3 ] 1到3中一个数字
[ D d ] e v i c e 单词d e v i c e或D e v i c e
D e . . c e 前两个字母为D e,后跟两个任意字符,最后为c e
" ^ q 以^ q开始行
^ . $ 仅有一个字符的行
^".[0-9][0-9] 以一个句点和两个数字开始的行
' " D e v i c e " ' 单词d e v i c e
D e [ V v ] i c e " . 单词D e v i c e或d e v i c e
[ 0 - 9 ] " { 2 " } - [ 0 - 9 ] " { 2 " } - [ 0 - 9 ] " { 4 " } 对日期格式d d - m m - y y y y
[ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } I P地址格式
[ ^ . * $ ] 匹配任意行
[A-Za-z]* 匹配所有单词
常用的g r e p选项
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
例子
grep -v "Sort" tab2 显示不包含匹配文本的所有行
grep -n "Sort" tab2 显示匹配行及行号
grep -c "Sort" tab2 只输出匹配行的计数
精确匹配: grep "01">" tab2
grep -in "code" tab2 忽略大小写
多次过滤
grep -in "code" tab2 | grep "02"
使用grep匹配“与”或者“或”模式
g r e p命令加- E参数,这一扩展允许使用扩展模式匹配。例如,要抽取城市代码为2 1 9或2 1 6,方法如下:
grep –E ‘219|216’ tab2
g r e p允许使用国际字符模式匹配或匹配模式的类名形式。
类 等价的正则表达式
[ [ : u p p e r : ] ] [ A - Z ]
[ [ : a l n u m : ] ] [ 0 - 9 a - zA-Z]
[ [ : l o w e r : ] ] [ a - z ]
[ [ : s p a c e : ] ] 空格或t a b键
[ [ : d i g i t : ] ] [ 0 - 9 ]
[ [ : a l p h a : ] ] [ a - z A - Z ]
大多数系统管理员称 / d e v / n u l l为比特池, 可以将之看成一个无底洞,有进没有出,永远也不会填满。
要查看D N S服务器是否正在运行(通常称为n a m e d),方法如下
ps -ef | grep "name"|grep -v "grep"
e g r e p
e g r e p接受所有的正则表达式,一个显著特性是可以以一个文件作为保存的字符串,然后将之传给e g r e p作为参数,为此使用- f开关。
egrep -f par2 tab2 par2是文件,里面包括各种匹配的具体格式
如果要查询存储代码3 2 L或2 C C,可以使用(|)符号,意即“|”符号两边之一或全部。
egrep '(Code|Sort)' tab2
&&
令1 && 命令2 如果这个命令1执行成功& &那么执行这个命2
mv myfile myfile2 && echo "if you are seeing this then mv was success!"
||
如果| |左边的命令(命令1)未执行成功,那么就执行| |右边的命令(命令2)
mv myfile myfile2 && echo "if you are seeing this then mv was success! "
从一个审计文件中抽取第1个和第2个域,并将其输出到一个临时文件中,如果这一操作未成功,我希望能够收到一个相应邮件:
awk '{print$1,$2}' test3 >test2 || echo "sorry the extraction didn't work " | mail root
(命令1;命令2;. . .)
如果使用{ }来代替(),那么相应的命令将在子s h e l l而不是当前s h e l l中作为一个整体被执行,只有在{ }中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子s h e l l中执行,否则在当前s h e l l执行。
例子:
如果s o r t命令执行成功了,可以先将输出文件备份,然后再打印
test.sorted && (cp test.sorted test.sorted_bak ;lp test.sorted)
经常使用的正则表达式举例
^ 行首
$ 行尾
^ [ t h e ] 以t h e开头行
[ S s ] i g n a [ l L ] 匹配单词s i g n a l、s i g n a L、S i g n a l、S i g n a L
[Ss]igna[lL]". 同上,但加一句点
[ m a y M A Y ] 包含m a y大写或小写字母的行
^ U S E R $ 只包含U S E R的行
[tty]$ 以t t y结尾的行
" . 带句点的行
^ d . . x . . x . . x 对用户、用户组及其他用户组成员有可执行权限的目录
^ [ ^ l ] 排除关联目录的目录列表
^[^d] ls –l | grep ^[^d] 只显示非文件夹的文件
[ . * 0 ] 0之前或之后加任意字符
[ 0 0 0 * ] 0 0 0或更多个
[ iI] 大写或小写I
[ i I ] [ n N ] 大写或小写i或n
[ ^ $ ] 空行
[ ^ . * $ ] 匹配行中任意字符串
^ . . . . . . $ 包括6个字符的行
[a- zA-Z] 任意单字符
[ a - z ] [ a - z ] * 至少一个小写字母
[ ^ 0 - 9 " $ ] 非数字或美元标识
[ ^ 0 - 0 A - Z a - z ] 非数字或字母
[ 1 2 3 ] 1到3中一个数字
[ D d ] e v i c e 单词d e v i c e或D e v i c e
D e . . c e 前两个字母为D e,后跟两个任意字符,最后为c e
" ^ q 以^ q开始行
^ . $ 仅有一个字符的行
^".[0-9][0-9] 以一个句点和两个数字开始的行
' " D e v i c e " ' 单词d e v i c e
D e [ V v ] i c e " . 单词D e v i c e或d e v i c e
[ 0 - 9 ] " { 2 " } - [ 0 - 9 ] " { 2 " } - [ 0 - 9 ] " { 4 " } 对日期格式d d - m m - y y y y
[ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } " . [ 0 - 9 ] " { 3 " } I P地址格式
[ ^ . * $ ] 匹配任意行
[A-Za-z]* 匹配所有单词
常用的g r e p选项
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
例子
grep -v "Sort" tab2 显示不包含匹配文本的所有行
grep -n "Sort" tab2 显示匹配行及行号
grep -c "Sort" tab2 只输出匹配行的计数
精确匹配: grep "01">" tab2
grep -in "code" tab2 忽略大小写
多次过滤
grep -in "code" tab2 | grep "02"
使用grep匹配“与”或者“或”模式
g r e p命令加- E参数,这一扩展允许使用扩展模式匹配。例如,要抽取城市代码为2 1 9或2 1 6,方法如下:
grep –E ‘219|216’ tab2
g r e p允许使用国际字符模式匹配或匹配模式的类名形式。
类 等价的正则表达式
[ [ : u p p e r : ] ] [ A - Z ]
[ [ : a l n u m : ] ] [ 0 - 9 a - zA-Z]
[ [ : l o w e r : ] ] [ a - z ]
[ [ : s p a c e : ] ] 空格或t a b键
[ [ : d i g i t : ] ] [ 0 - 9 ]
[ [ : a l p h a : ] ] [ a - z A - Z ]
大多数系统管理员称 / d e v / n u l l为比特池, 可以将之看成一个无底洞,有进没有出,永远也不会填满。
要查看D N S服务器是否正在运行(通常称为n a m e d),方法如下
ps -ef | grep "name"|grep -v "grep"
e g r e p
e g r e p接受所有的正则表达式,一个显著特性是可以以一个文件作为保存的字符串,然后将之传给e g r e p作为参数,为此使用- f开关。
egrep -f par2 tab2 par2是文件,里面包括各种匹配的具体格式
如果要查询存储代码3 2 L或2 C C,可以使用(|)符号,意即“|”符号两边之一或全部。
egrep '(Code|Sort)' tab2
相关推荐
在Adobe InDesign软件中,GREP(Global Regular Expression Print)正则表达式的使用能够极大地提高文档编辑效率,特别是在处理大量文本时。通过精确地查找与替换特定模式的文字,用户可以在几分钟内完成原本可能...
在Linux Shell环境中,正则表达式常与grep、sed、awk等命令结合使用,以实现高效的数据筛选和处理。 1. 元字符:正则表达式的核心是元字符,它们具有特殊的含义。例如,`.`表示任意单个字符,`^`表示行首,`$`表示...
综上所述,这个压缩包文件合集详细地介绍了Linux环境中如何使用正则表达式进行文本匹配和处理,涵盖了正则表达式的基础知识、sed工具的使用以及grep系列命令的应用。掌握这些内容,将极大地提高你在Linux系统中处理...
3. `grep ^d`:使用正则表达式`^d`筛选出以`d`开头的行,即仅显示目录信息(因为在Unix下,目录以`d`开头,如`drwxr-xr-x`)。 #### 四、正则表达式在grep、sed、awk中的应用 1. **grep**:用于搜索文本文件中的...
### 正则表达式grep[global search regular expression] #### 一、grep简介 `grep`是一种功能强大的文本搜索工具,可以使用正则表达式在文本中查找特定模式,并将匹配的行输出到标准输出。这一工具最初设计用于...
在深入探讨Linux下的正则表达式(Regular Expression,简称RE)和`grep`命令之前,我们首先需要理解正则表达式的基本概念及其在系统管理与日常应用中的重要性。 ### 正则表达式:理解与应用 正则表达式是一种用于...
- **grep/egrep**:Unix/Linux 下的命令行工具,用于在文件中搜索匹配正则表达式的行。 #### 五、正则表达式的高级主题 对于更深入的学习者来说,还可以探索以下高级主题: - **反向引用**:在正则表达式中使用...
正则表达式在多种平台上都有应用,包括 Unix 平台下的程序,如 xsh、egrep、sed、vi 等。它们可以被很多语言采纳,如 HTML 和 XML,这些采纳通常只是整个标准的一个子集。 正则表达式的语法看起来很相似,这是因为...
grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grep、egrep和fgrep。Windows...
Linux Shell中的正则表达式是文本处理和搜索的关键工具,尤其在使用命令行工具如grep、sed和awk时。它们允许我们以灵活的方式查找、替换和解析文本模式。以下是正则表达式的基本概念、分类以及在Linux常用文本工具中...
1.grep : 最早的文本匹配程序,使用POSIX定义的基本正则表达式(BRE)来匹配文本。 2.egrep : 扩展式grep,其使用扩展式正规表达式(ERE)来匹配文本。 3.fgrep : 快速grep,这个版本匹配固定字符串而非正则表达式...
在Linux shell中,正则表达式主要有三种类型:基本正则表达式(Basic Regular Expressions,BREs)、扩展正则表达式(Extended Regular Expressions,EREs)和Perl正则表达式(Perl Regular Expressions,PREs或pcre...
本文档主要讲解了正则表达式的基本用法和sed命令的应用,通过实际案例,详细介绍了正则表达式的匹配规则和sed命令的使用方法。 1. 正则表达式的基本用法 正则表达式是一种灵活的字符串匹配方式,广泛应用于 Unix/...
- **1968年:** Ken Thompson将正则表达式引入计算机领域,他开发了两款实用的文本处理工具——`qed` 和 `grep`,标志着正则表达式在计算机领域的应用开端。 - **1980年代初:** 在这一时期,正则表达式得到了进一步...