tr 基本语法 -c          # 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII  -d          # 删除字符串1中所有输入字符  -s          # 删除所有重复出现字符序列,只保留第一个:即将重复出现字符串压缩为一个字符串  [a-z]       # a-z内的字符组成的字符串  [A-Z]       # A-Z内的字符组成的字符串  [0-9]       # 数字串  \octal      # 一个三位的八进制数,对应有效的ASCII字符 …
一直用sed一直没有正经的学过语法,一直一知半解的用着. 因为,它用来perl的语法,要想搞懂,首先要搞懂perl,系统的入个门... 之前,man sed,man了好多次,总是没找到关键内容,今天在perl手册里找到了. 内容相关的,前一篇: [knowledge][模式匹配] 字符匹配/模式匹配 正则表达式 自动机 PERL入门: http://perldoc.perl.org/perlintro.html perl 工具箱: cpan/cpanm/cpanp  https://www.cp…
正则表达式中,凡出现圆括号(),括号中的匹配内容就会被认为是一个分组: 根据括号从左边出现的顺序命名分组代号,分组代号由1到n(代号0通常被一些语言用来引用整个表达式匹配的结果,即使这个表达式没有分组括号,但是表达式内不能引用\0),例如: (a(b)) 以上表达式包含两个分组第1个是(a(b)),第2个是(b),很明显第一个分组包含了第二个分组的内容: 反向引入分组,其实是后面引用分组中匹配的结果,引用分组的语法是\+分组代号: (.)\1 这个表达式的含义是匹配一个任意字符,接下来再出现一个…
1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上. sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上.sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示.处理完输入文件的最后一行后,sed便结束运行.sed把每一行都存在临时缓冲区中,对这个副本进行编辑,…
本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www.cnblogs.com/chengmo/archive/2010/10/21/1856577.html以此为例: cat test.sh test1.sh 2>/dev/null | grep -n 'echo' 此时若test.sh 不存在,报错信息不会输出到屏幕中,而是转入 /dev/null中,如…
location语法:location [=|~|~*|^~] /uri/ { - }默认:否上下文:server这个指令随URL不同而接受不同的结构.你可以配置使用常规字符串和正则表达式.如果使用正则表达式,你必须使用 ~* 前缀选择不区分大小写的匹配或者 ~ 选择区分大小写的匹配.确定 哪个location 指令匹配一个特定指令,常规字符串第一个测试.常规字符串匹配请求的开始部分并且区分大小写,最明确的匹配将会被使用(查看下文明白 nginx 怎么确定它).然后正则表达式按照配置文件里的顺序…
30天内的文件打包 find ./test_log -type f -mtime -30|xargs tar -cvf test_log.tar.gz find,文件+超过7天+超过1M的+按日期为文件名压缩 注意: exec没-i, xargs如果有引用需要加上-i find xargs -type -name -size -mtime find /tmp/ -type f -mtime +7 -size +1M|xargs -i tar -zcvf access.log.tar.gz {}…
正则表达式与grep和sed 目录 1.正则表达式 2.grep 3.sed grep和sed需要正则表达式,我们需要注意的正则表达式与通配符用法的区分. 1.正则表达式 REGEXP,正则表达式:由一类特殊字符以及文本字符所编写的模式,其中有些字符(元字符)不表示字符字母意义,而表示控制或通配的功能,可通过man regex来查看更详细的信息. 正则表达式有两类,一个是基本正则表达式BRE,另一个是扩展的正则表达式ERE. 正则表达式的引擎:采用不同算法,检查处理正则表达式的软件模块PCRE(…
1. vi 2. 正则表达式 3. sed 1)打印命令:p 2)删除命令:d 3)替换命令:s 4. awk 1)awk 基本用途 2)匹配打印 3)判断打印 4)数组 1. vi vi 是 Linux 中的标准文本编辑器.所有的 unix 和类 unix 都会提供 vi 编辑器.在 linux 中还可以使用 vim(vi improved). vi 提供两种模式: 命令模式 用于浏览.删除.剪贴.查找等. 可以用各种命令进入插入模式. 插入模式 用于键入内容. 用 <ESC> 退出插入模式…
sed的正则匹配如何实现非贪婪? sed的正则用的是BREs/EREs,不支持非贪婪模式.当然有一些方法可以实现非贪婪,比如: $ echo abcOabcdOabc | sed 's/.*O//' 结果是abc: $ echo abcOabcdOabc | sed 's/[^O]*O//' 结果是abcdOacb,变相实现了非贪婪的匹配. 但如果是这种情况: <div>...</div>blabla<div>...</div> 如果想用sed去除前后的&l…