- 浏览: 2600337 次
- 来自: 杭州
文章分类
- 全部博客 (1190)
- webwork (4)
- 网摘 (18)
- java (104)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (15)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (8)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
Aqu415:
,默认是netty还是hassion?
dubbo入门 -
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介
grep的功能
grep从一个或多个文本文件中查找符合指定范本(正则表达式)的行,并把查找结果输出到指定设备(默认到屏幕)。
语法:
/usr/bin/grep [选项] <范本(正则表达式)> [文件1 ...]
范本是一个单独的词或者是一个用引号括起来的字符串。如果范本包含空格,则范本要用引号括起来。grep默认下把结果输出到屏幕但是并不影响或改变任何被查找的目标文件。
一些特殊字符($, *, [, ^, |, (, ), 和\)的使用要特别小心,因为这些字符在shell里有特殊意义。如果这些字符作为范本的一部份,请用单引号把整个范式括起来。
范本是一个单独的词或者是一个用引号括起来的字符串。如果范本包含空格,则范本要用引号括起来。grep默认下把结果输出到屏幕但是并不影响或改变任何被查找的目标文件。
一些特殊字符($, *, [, ^, |, (, ), 和\)的使用要特别小心,因为这些字符在shell里有特殊意义。如果这些字符作为范本的一部份,请用单引号把整个范式括起来。
# grep root /etc/passwd /etc/shadow /etc/passwd: root:x:0:0:Super-User:/:/sbin/sh /etc/shadow: root:PdhpgiTZvqa2:13732:::::: 备注:黑体部分是文件名 |
grep命令的输入
grep有三种输入来源:标准输入(键盘)、管道和文件。如果你忘了输入目标文件,grep会假定从标准输入设备(键盘)取得输入,直到你按^D(Control+D)。如果是管道,上个命令的输出将被作为grep的输入被处理,并把查找结果输出到指定输出设备。
global$grep mypattern hello grep I forget input file(s) ^D global$ global$ ps -ef | grep root global$ grep root /etc/passwd /etc/shadow |
grep命令的返回值(不是查找结果)
### 0 (范本在指定文件里被查找到。) global$grep root /etc/passwd;echo $? root:x:0:0:Super-User:/:/sbin/sh 0 ### 1 (范本在指定文件里没有查找到) global$grep roo1t /etc/passwd;echo $? 1 ### 2 (指定的目标文件不存在) global$grep root /etc/passwd1;echo $? grep: can't open /etc/passwd1 2 备注:Bourn/Korn shell变量,?,返回最后被执行的命令的返回值;C shell变量是status。 |
grep命令的选项
选项
|
描述
|
-c |
显示符合范本的行的数目而不是显示满足条件的行的内容 |
-h |
不显示文件名 |
-i |
忽略大小写 |
-l |
只列出有满足条件的行的文件的文件名 |
-n |
显示满足条件的行在包含它的文件中的行号 |
-s |
隐形操作,即如果出错不输出任何信息。在用于只检返回值时非常有用。 |
-v |
反向显示,即输出不满足条件的行。 |
grep的正则表达式的元字符
元字符
|
功能
|
列子
|
描述
|
^ |
行首 |
'^love' |
匹配所有以love开始的行 |
$ |
行尾 |
'love$' |
匹配所有以love结尾的行 |
.(点) |
匹配任意一个字符 |
'l..e' |
匹配所有包含l,紧跟任意2个字符,再跟一个e的行 |
* |
匹配0个或多个字符 |
' *love' |
匹配所有包含0个或多个空格,再跟love的行 |
[] |
匹配一个在集合里的字符 |
'[Ll]ove' |
匹配包含Love或love的行 |
[^] |
匹配一个不在集合里的字符 |
'[^A-K]ove' |
匹配不包含从A-K的字符,紧跟ove的行 |
\< |
词首 |
'\<love' |
匹配所有有任一单词以love为首的行 |
\> |
词尾 |
'love\>' |
匹配所有有任一单词以love为尾的行 |
\(..\) |
标识匹配的一个或多个字符 |
'\(love\)ing' |
标识一个标注以期后面引用,第一个用\1,一次类推,最多有9个;见列子 |
x\{m\} x\{m,\} x\{m,n\} |
重复字符x:m次 至少m次 在m次到n次之间 |
'0\{5\}' '0\{5,\}' '0\{5,10\} |
如果一个行有:连续5个0,至少连续5个0,连续的0在5到10之间,则满足要求。 |
例子
- 查找在/etc下以p为首的文件中有那些行包含有root
# 、/usr/bin/grep root /etc/p*
/etc/passwd: root:x:0:0:Super-User:/:/sbin/sh /etc/project: user.root:1:::: |
- 输出所有的非空行
$ /usr/bin/grep . $HOME.profile $ /usr/bin/grep ^$ /etc/passwd | wc -l (本命令统计/etc/passwd里有几行空行) |
- 输出/etc/passwd中包含root或者sys的行
$/usr/xpg4/bin/grep
-e 'root' -e 'sys' /etc/passwd 或者 $/usr/xpg4/bin/grep -E 'root|sys' /etc/passwd root:x:0:0:Super-User:/:/sbin/sh sys:x:3:3::/: |
- 输出所有行,此行包含这样的一个单词,它以小写字母打头,紧跟任意个字符,以n结尾
$ grep '\<[a-z].*n\>' /etc/passwd (注意.*,它表示任意个字符,包括空格) |
- 输出行,它包含一个3,紧跟着一个点和一个数字,再紧跟任意个字符(.*),再跟一个3(前面标识过了),一个或多个TAB,再跟一个3. 因为3前面被标识过,\(3\),所以后面引用只要用\1就可以了。
$ grep '\(3\)\.[0-9].*\1 *\1' /etc/passwd 注:你可以替换3为任意你想要的其他字符 |
- 输出行,这些行有单词至少包含9个连续的小写字母
$grep '[a-z]\{9,\}' /etc/passwd |
- 输出当前目录下文件名,这些文件包含有这样子的行,这些行包含有'SE'字符串,忽略大小写。
$ grep -l -i 'se' * |
egrep(扩展的grep)
元字符
|
功能
|
例子
|
描述
|
+ |
匹配一个或多个前导字符 |
'[a-z]+ove' |
匹配一个或多个小写字符,紧跟ove.如love,loove,alove |
? |
匹配0个或一个前导字符 |
'lo?ve' |
匹配以l开始,紧跟零个o或者一个o,在跟ve.如lve,love |
a|b |
匹配a或者b |
'love|hate' |
匹配love或者hate |
() |
分组 |
'lov(able|ly)?' |
匹配lovable或者lovly,或者lov |
- 包含S,紧跟h或者u
$ egrep 'S(h|u)' /etc/passwd
发表评论
-
使用dig查询dns解析
2016-12-01 10:39 1356一般来说linux下查询域名解析有两种选择,nslookup ... -
Linux监控工具-Nmon命令行:Linux系统性能的监测利器
2014-09-01 10:49 1803Nmon是一款面向系统管理员的调优和基准测量工具,可以用来显 ... -
安装MySQL-python问题解决
2014-08-20 12:29 14012今天在centos安装MySQL-python,结果报错, ... -
curl POST提交
2014-08-19 16:59 1004curl POST提交的例子: curl "l ... -
通过sar查看网卡流量
2014-08-13 17:30 1468这个工具RHEL5自带有,默认也安装。 一个强大的工具(好 ... -
解决thinkpad t440p ubuntu 14.04无线不能用问题
2014-07-09 22:23 1094前段时间新入手了一台thinkpad t440p,一直来都 ... -
故障排除的第一个五分钟
2014-04-15 14:05 1272原文:http://junqili.com/linux/tr ... -
Linux 性能监测总结
2014-04-14 15:22 795Linux 性能监测:介绍Linux 性能监测:MemoryL ... -
linux free 命令解释
2014-03-22 10:28 1169linux系统内存实际 ... -
超简单方法创建Ubuntu系统可启动U盘
2014-03-11 17:23 2951现在做系统,最方便的方法还是要属U盘启动,随身携带,插入电脑 ... -
Linux 2.6.36内核优化指南
2013-12-26 16:03 1097作者:Ken Wu Email: ken.wug@gmai ... -
Linux下终端利器tmux
2013-11-28 12:01 8695原文:http://kumu-linux.gi ... -
理解inode
2013-11-18 15:18 686文章某位附带一个利用inode监控日志被覆盖的python脚 ... -
Linux 性能测试与分析
2013-11-11 16:31 2007本文参考:http://testing. ... -
Iowait的成因、对系统影响及对策
2013-11-11 16:07 1603参考: Iowait的成因、对系统影响及对策 -
linux运行时提示找不到某个so
2013-11-10 15:22 2878有时候通过linux编译安装一些程序会有类似这样的错误提示: ... -
shell入门
2013-09-11 16:04 824变量赋值 shell中变量赋值不能有空格,比如必须 a= ... -
基于tmpfs或ramfs把linux把目录映射为内存
2013-08-28 13:24 5768在linux系统中,我们可以通过挂载tmpfs或ramfs ... -
Linux查看新磁盘
2013-08-26 16:34 1204通过fdisk -l [admin@server9 jyp ... -
linux 系统环境设置
2013-04-03 18:04 1055yum--update 服务停止 /sbin/se ...
相关推荐
研究报告:grep命令.ppt
下面小编就为大家带来一篇浅析jquery数组删除指定元素的方法:grep()。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文主要对linux-shell脚本命令中的grep命令进行简介,希望对您有所帮助。
$ grep magic /usr/src//Documentation/* sysrq.txt:* How do I enable the magic SysRQ key? sysrq.txt:* How do I use the magic SysRQ key? $ ls -l | grep '^a' 通过管道过滤ls -l输出的内容,...
使用fork(),exec(),dup2(), pipe(),open()系统调用完成与下列shell命令等价的功能:grep -v usr | wc -l > result.txt
vimgrep 命令类似于vim的 :vimgrep行为
lgrep:grep定位日志文件的变体
vgrep - grep的寻呼机 用法 作为寻呼机: grep -rn data /some/path | vgrep # -n for line numbers 作为grep替代品: vgrep data /some/path # recursive by default vgrep data /some/path | vgrep default # ...
metacpan-grep-front-end:Grep前端代码
根据上下文选择grep:在git-repository内部,运行git-grep ,否则运行ag 。 使用头盔选择候选者,然后使用RET跳转到给定的行。 第二个交互功能helm-grepint-grep-root 。 这将在根目录中运行grepping。 默认情况下...
windows grep包 解压后,grep路径加入PATH,即可使用 D:\>grep Usage: grep [OPTION]... PATTERN [FILE]... Try 'grep --help' for more information.
键入grep -h以检查是否已安装grep。 要使用此程序,必须输入grep参数,这些参数将返回文件路径。 例如: grepord -iRl './' -e 'hello world' 您可以按fs.Stats的属性进行排序。 请参阅: : 默认排序是mtime...
grep用法,grep用法,grep用法,grep用法,grep用法,grep用法,grep用法,
windows可用的grep工具,把文件目录添加搭配path环境变量即可,使用方法如下: grep -S "searchtext" *.txt grep -S "searchtext" \personal\files\*.txt grep -S searchtext C:\*.* -S是搜索子目录,没有就是搜索...
grep和正则表达式 什么是正则表达式: 正则表达式用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分隔、匹配、查找及替换操作 元字符 * 重复匹配前一个字符0到多次 . 匹配除了换行符外...
grep -S "searchtext" *.txt grep -S "searchtext" \personal\files\*.txt grep -S searchtext C:\*.* dir *.* /sub | grep -i DLL | more 原文链接:http://www.interlog.com/~tcharron/grep.html
grep的快速而强大的开源替代品。 特征 sift与大多数其他grep替代方法的重点稍有不同。 代码搜索,日志搜索/数字取证和数据处理是主要的用例,但主要目标是提供安全的默认值,并使其易于针对特定用例进行配置。 这些...
①grep -A 10 关键字 file名 –>显示file文件里匹配”关键字”那行及后10行 示例:grep -A 10 “err” log-file.log ②grep -B 10 关键字 file名 –>显示file文件里匹配”关键字”那行及前10行 示例:grep -B 10 ...
Linux系统中搜索、查找文件中的内容,一般最常用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索。下面来一起看看Linux利用grep命令检索文件内容的详细介绍。 方法如下: 1、搜索某个文件里面是否...
文档管理类命令创建目录 mkdir 目录路径一次创建多级目录 mkdir -p 目标路径创建空白文件 touch 文件路径创建由内容的文件vi 文件路径三种工作模式1.命令模式 使用ESC2.编辑模式 先切换到命令模式,再按 a i o三者之...