grep及正则表达式随笔

grep [acivn] [--color=auto] ‘查找字符串‘ filename

-a:将binary文件以text文件的方式查找数据

-c:计算找到‘查找字符串‘的次数

-i:忽略大小写

-v:反向选择

-n:将查找结果列出行号

--color=auto:查找结果中关键字着色

**********grep使用例子**********

(1)列出一个目录下目录的名称:

ll |grep ‘^d‘ |awk ‘{print $9}‘

其中awk中$后面是列的位置

(2)列出一个文件,去除空白行:

grep -v ‘^$‘ /etc/httpd/conf/httpd.conf

(3)去除注释行

grep -v ‘^$‘ /etc/httpd/conf/httpd.conf |grep -v ‘^#‘

(4)忽略大小写并注明行号:

dmesg |grep -in ‘network‘

(5)查找一个以m开头、并且以m结尾的单词

grep -in ‘m[a-z]*m‘ regular_express.txt

**********正则表达式基础**********

--word  字符串

--char  字符

--list 字符序列

^word 表示以word开头

word$ 表示以word结尾

. 表示一定有一个任意字符

char* 表示有0个或无穷多个重复的char

\ 转义字符

[list] 表示选择一个字符匹配,例如a[bc]a 表示aba & aca

[char1-char2] 表示任意的连续字符,char1到char2之间,例如[a-z]表示任意小写字母

[^list] 表示去除不要的字符,有反向选择的意思,例如[^abc] 表示去除包含abc串的行

char\{n,m\} 表示n到m个char,需要使用转义字符

eg:一个脚本,模拟service httpd status 输出

#!/bin/bash
#The output of commond "service httpd status" or "/etc/init.d/httpd status"

m=$(ps -ef |grep httpd |sed ‘s/^.*grep.*$//g‘ |sed ‘/^$/d‘)
n=$(ps -ef |grep httpd |sed ‘s/^.*grep.*$//g‘ |sed ‘/^$/d‘ |grep root |grep /usr/sbin/httpd |awk ‘{print $2}‘)
#n=$(ps -ef |grep httpd |grep -v grep |grep root |grep /usr/sbin/httpd |awk ‘{print $2}‘)
#n=$(ps -ef |grep httpd |sed ‘/.*grep.*/d‘ |grep root |grep /usr/sbin/httpd |awk ‘{print $2}‘)
if [ "$m" = "" ];
then
        echo "httpd is stopped"
else
        echo "httpd (pid  "$n") is running..."
fi

grep及正则表达式随笔,布布扣,bubuko.com

时间: 2024-07-30 10:17:06

grep及正则表达式随笔的相关文章

Linux     grep命令,正则表达式

grep命令及正则表达式 grep命令 grep , egrep , fgrep grep,sed,awk 文本处理三剑客 grep: Global search REgular expression and Print out the line;全面查找正则表达式并将匹配到的行显示出来; 正则表达式 正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用;许多程序设计语言都支持利用正则表达式进行字符串操作; 主流的正则引擎又分为三类:DFA;传统型NFA;POSIX NFA; DFA

grep及正则表达式 含(含断言)

grep和正则表达式 1.grep:Global search REgular expression and Print out the file 作用:文本搜索工具,根据用户指定的模式对目标文件逐行进行匹配,打印匹配到的行 模式:由正则表达式字符及文本字符编写的过滤条件 格式: grep [options] pattern file[...] --color=auto 对匹配到的文本着色显示 -v 显示不能够被pattern匹配的行 -i 忽略file中文件字符的大小写 -n 显示匹配的行号

grep与正则表达式,grep、egrep和fgrep

grep用法详解:grep与正则表达式 首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同!正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串.vim.grep.awk .sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大:1基础正则表达式grep 工具,以前介绍过.grep -[acinv]   '搜索内容串'   filename-a 以文本文件方式搜索-c 计算找到的符合行的次数-i 忽略大小写-n 顺便输出行号-v

grep&sed小随笔

由于工作需要,需要截取一个html文件中的一些段,导入到数据库中(当然用诸如UE.Notepad++之类的文本编辑软件可以很简单的实现).但是,思考了一下能否使用命令去实现呢? 以下是一个模板文件: 当然,一个html文件中不可能只有这几个段,我们可以使用'grep -e 字符串1 -e 字符串2'这样的命令去筛选就好了. [[email protected] myScript]# cat test.log  <sffid>1234</sffid> <policyno>

grep与正则表达式

一.grep简介 二.基本正则表达式 三.egrep扩展正则表达式 四.其他文本及查看工具{wc,cut,sort,uniq,diff,patch} 五.练习用例 一.grep简介 文本处理工具: Linux上文本处理三剑客: grep:文本过滤工具(模式:pattern) grep:基本正则表达式,-E扩展,-F egrep:扩展正则表达式,-G基本,-F fgrep:不支持正则表达式, sed:stream editor,流 编辑器 awk:Linux上实现的为Gawk,GNU/awk,文本

grep以及正则表达式

正则表达式是基本的文本处理常识,理解和掌握好grep以及正则表达式对进行文本处理尤为重要 Grep 根据模式(文本字符和正则表达式的元字符组合而成匹配条件)搜索文本,并将符合模式的文本行显示出来. 1.1grep家族: grep:基本正则表达式使用的命令 egrep:扩展正则表达式使用的命令 fgrep(fast grep):不支持正则表达式,在没有正则表达式的字符串中的使用效率非常高,cup资源消耗少 1.2grep命令格式 grep  [options] PATTERN [FILE...]

[Linux 006]——grep和正则表达式

在使用系统时,我们或多或少的有一些搜索.查找的需求,必须要在文本中搜索某个关键字,或者过滤出文本中某些特定的行.grep 命令就为我们提供了这样一个功能,同时,grep 还可以使用正则表达式进行匹配,这是一个强大的功能,有必要好好掌握. 1.grep 初体验 grep PATTERN [OPTIONS] FILE:在文件中按照模式进行查找.FILE 是我们要查找的目标文件,如果不指定目标文件,grep 将会从标准输入中读取输入的内容,然后进行匹配.为了方便起见,本文的所有演示都在命令行中通过标准

Linux基础之文本处理工具grep及正则表达式(附带egrep与grep的不同)

文本处理工具grep,正则表达式在Linux学习过程中很容易出现困惑与障碍的地方,这里分享下学习这方面内容的一些感受. grep Global search REgular expression and Print out the line 作用:文本搜索工具,根据用户指定的'模式(过滤条件)'对目标文本逐行进行匹配检查:打印匹配到的行: '模式':由正则表达式的元字符及文本字符所编写出的过滤条件. grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS]

利用grep与正则表达式快速精确实现文本通配

什么是grep? grep (global search regular expression(RE) and print out the line,其全称意义为全局搜索正则表达式,并打印出来.是一种功能强大,简单易用的文本搜索工具.它能根据其后指定的匹配方式匹配出文件中的文本,并把匹配到的那整行都打印出来. 在Linux中grep家族有三个成员,分别是grep,egrep和fgrep,其使用方法略有不同,其中egrep是grep的扩展,而fgrep则是在进行文本通配时把所有的字母都当做单词来处