一.grep家族 grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 在上一次的博客中已经使用过egrep通过正则表达式来匹配正确IP地址,这里的用法就不多说了. fgrep 命令于 grep 和 egrep 命令不同,因为它搜索字符串而不是搜索匹配表达式的模式.fgrep 命令使用快速的压缩算法.$, *, [, |, (, ) 和 \ 等字符串被 fgrep 命令按字面意思解释.这些字符并不解释为正则表达式,但它们在 grep 和 egrep 命令中解释为正…
一.test命令 -d :目录                                test  -d  /boot -s :文件长度 > 0.非空            test  -s  a.txt -f :正规文件                           test  -f  a.txt -w :可写                                test  -w  a.txt -r :可读                                …
grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.常用来在结果中搜索特定的内容. 一般格式: grep [选项] 基本正则表达式 [文件] 选项 -c 只输出匹配行的计数 -i 不区分大小写(单字符) -h 不显示文件名(多文件时) -l 只输出文件名(多文件时) -n 显示匹配行及行号 -s 不…
一.find find命令用来在指定目录下查找文件.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件.并且将查找到的子目录和文件全部进行显示. 语法 find path -option [ -print ] [ -exec -ok command ] {} \; 常用选项: -name 查找根目录及其子目录下所有以 log 结尾的文件,文件名区分大小写,例如:find / -name '*logf' -iname      查找当前目录及其子目录下所有文件名为 te…
最近学习shell命令,对grep,sed,awk命令有点混乱,故小结一下,巩固一遍. 注意:find , grep , sed, awk可使用基本正则表达式字符,find,grep,awk也支持扩展的正则表达式元字符,grep使用扩展正则必须结合-E或直接使用egrep命令. 基本正则表达式元字符有: * 重复前面字符0次或多次 . 匹配任意字符一个,包括空格 ^ 匹配行首,但若在[]内则表示取反 [] 匹配字符集 \{\} 精确匹配 $ 匹配行尾 \{n\} 表示重复前面字符n次 \{n,\…
find 文件查找 查找txt和pdf文件 find . \( -name "*.txt" -o -name "*.pdf" \) -print 查找所有字母开头的文件 find . -name "[a-a]*" 否定参数->查找所有非txt文本 find . ! -name "*.txt" -print 指定搜索深度->打印出当前目录的文件(深度为1) find . -maxdepth 1 -type f 正则方…
目录:    Ⅰ:正则表达式    Ⅱ:作业 Ⅰ:正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,三种文本处理工具/命令:grep.sed.awk 正则介绍:^ 以什么开头(同一行)         $ 以什么结尾(同一行)          . 除了换行符以外的任意单个字符          * 紧挨的左边的第一个字符出现零个到…
grep.sed和awk都是文本处理工具,虽然都是文本处理工具单却都有各自的优缺点,一种文本处理命令是不能被另一个完全替换的,否则也不会出现三个文本处理命令了.只不过,相比较而言,sed和awk功能更强大而已,且已独立成一种语言来介绍. grep:文本过滤器,如果仅仅是过滤文本,可使用grep,其效率要比其他的高很多: sed:Stream EDitor,流编辑器,默认只处理模式空间,不处理原数据,如果你处理的数据是针对行进行处理的,可以使用sed: awk:报告生成器,格式化以后显示.如果对处…
每次用到正则都要蛋疼一下,索性总结一下在这里. 正则 正則表達式主要分为基础正则和扩展正则.注意,正则和一般命令行输入的命令的通配符不同.正则仅仅使用于支持这样的表示法的工具,如:vi,grep,sed.awk.而ls等命令不支持这样的表示,仅仅能使用bash自身的通配符. 基础部分: [abc] 匹配括号里的一个 [^abc] 匹配非括号里的一个(取反) ^word 以word开头 word$ 以word结尾 [n1-n2] 从n1到n2之间的全部连续字符. 注意:这个连续与否,与ASCII编…
本节中正则表达式的工具程序 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中,如…