天天看点

Linux系统中文件查找工具

文件查找工具 

文件查找工具:grep,egrep ,fgrep

下面主要介绍:grep和sed命令

行首锚定符 ^PATTERN

行尾锚定符 $

\<PATTERN 词首锚定符 加上引号单双都行

PATTERN\>词尾 锚定符

 .  匹配任意单个字符 不匹配回车符

* 匹配此前的字符0到任意次

。*匹配任意长度的任意字符

正则表达式工作在贪婪模式:尽可能长的匹配符合模式的字符串

精确匹配次数

?  匹配此前的字符 0次或1次 ;

\{m,n\} 至少m次。至多n次

\{0,5}

[ ]匹配指定范围内的任意单个字符

[^] 匹配指定范围外的任意单个字符

-v 不匹配的 -i 忽略大小写 

- r

-B 后面跟的是数字n,显示前n行

-A 显示后n行

-C 显示前后n行

-O 显示匹配的字符串而非查找的那一行

-E 支持扩展正则表达式的

\(\)    \1 , 引用 此前括号内 的内容

扩展正则表达式 grep -E

{}()|(或者)+(匹配一次)

标准输入:keyboard   用 0来表示

标准输出:monitor     用1来表示

标准错误输出:monitor  用2来表示

重定向:

>输出重定向  覆盖  不可返

>>追加重定向相当于重新写入

可以用set来设置是否用输出重定向:

set -C  不能用>

set +C  继续使用>

错误输出重定向:2> 只定向正确输出

2>>加重定向

整合正确错误的数据流在一个文件中: &>

在Linux系统中命令执行结后,都有一个返回码

成功执行:0 错误:1-255

获取返回值  echo $?

/dev/null,bit bucket, 位桶

<输入重定向

<<

cat > /tmp/a.out << END

管道:|

把前一个命令的输出当作前一个命令的输入

COMMAND1 | COMMAND2 | COMMAND3

sed

使用基本正则表达式

    stream editor 行编辑器

非交互式编辑器

没有破坏性

命令:

d 删除行;

使用方式:sed "ADDR1 ,ADDR2/command" inputfile

,表示一个范围

也可以用字符匹配来用:

/PATTERN/command

/PATTERN1/,/PATTERN/

p 显示出模式匹配的行 显示两次 即是打印命令

-n 只显示模式匹配到的内容 即set -n ...

a\ 在匹配到的一行后添加一行\n

i\命令光标在匹配到行的上方

!对匹配条件取反的

s  查找替换

s@@@  g i标志位

  sed的常用选项:

-n :quiet

-e : -e '' -e ' '一次指定多个条件

-i :可直接修改原文件

-f :可以读取sed脚本

本文转自 ZhouLS 51CTO博客,原文链接:http://blog.51cto.com/zhou123/788095

继续阅读