1.基本正则表达式
^ $ * . \这些都是基本元字符
[ ] [^ ] 表示字符集pattern\{n\} pattern\{n,\}pattern\{n,m\} 意思就是匹配前边pattern的次数...
2.find命令
find path -option [-print -exec -ok]
path如果为空,表示当前目录查找....
option表示查找的条件,比如 -name按名字查找,-perm按权限查找,-user用户名查找,-type按类型查找...等等
-name选项时,可以是用正则表达式表示要查找的文件名....
-size选项时,例如 -size +10000000c 表示大于10M的文件,+号表示大于...-号表示小于...c表示字符....
-print 表示把查找结果打印到屏幕
-exec 表示直接执行查找到的文件
-ok 表示执行文件前要询问一下是否执行,去掉这个步骤的话,意思和-exec是一样的....
find ...... | xargs command
find命令的结果可以通过 xargs 变为 command命令的输入,从而执行 command....
find ...... | xargs chmod 755
意思很明显......
3.grep
find 是在某个路径内查找文件....
grep 则是在某个或者某些文件内查找字符串....
grep -option "字符串" file(s)
-option
-c 表示显示查找到的条目的总数
-i 表示不区别字符串中的大小写
-v 表示显示不包含该字符串的行,就是去反结果
其他的不说了,这几个应该是主要的
“字符串” 这部分可以是用正则表达式表示
file(s)
可以是一个文件的文件名,或者是有正则表达式表示的一组文件....
4.awk
学点基本的先...
awk [ -option ] ‘模式和动作’ 文件
-option 可以设置一些选项,如 -F 可以设定分隔符....
模式和动作语句要用单引号括在一起...
有模式没动作,则打印符合模式的行,模式的通常形式是 /正则表达式/ 或者 关系运算 $1 > $2 神马的....
没模式有动作,则对于每一行数据都执行一遍动作,然后输出结果......一般的使用都是 print....
两者都有的话,意思就是对于文件中得每一行,如果符合设定的模式,则进行前边设定的动作,意思就是对每行字符串进行处理....
awk ‘BEGIN {...} {...} END{...}’ file
单引号哦!!!!!!!
BEGIN是先被执行一次的部分{}中的语句先执行一次,然后再对文件的每行执行 中间{}中得动作,最后结束时再执行 END后边{}中得动作....
初级使用时,主要使用print命令,例如 print $1....
$1...$n分别表示第几个域,一行可能包括几个域,域之间默认是空格为分隔符
-F 选项可以设定分隔符....例如 -F : 吧分隔符改为 冒号....
$0 表示整个一行数据.....
awk暂时的作用就是对于文件进行列提取,,,,可以很方便的提取出某列的内容,分隔符可以动态指定,很方便....
有篇文章可供参考:
http://man.lupaworld.com/content/manage/ringkee/awk.htm
5.sed
sed命令既能查找,也能替换,主要用它还是因为替换...查找可以选择 grep...
sed [option] ‘范围表示和动作' 文件
单引号哦~~~~~~~~
option
-n 很重要,常用,表示只打印符合范围并且执行了动作的结果,而不是全部的文件内容
-e 可以使用多个这种范围表示和动作的组合,例如 -e ’范围和动作‘ -e ’范围和动作‘...会把文件中的每一行分别去执行这些范围和动作...
范围表示方法:
x 一个数据,表示行号,只对该文件中的该行做动作
x,y 两个数字,表示行的范围 x到y行
/pattern/ 模式,表示符合该模式的行
x,/pattern/ 表示由x行开始,到第一个符合模式pattern的行结束,包括符合那第一个符合模式的行
/pattern/,x 和上边意思差不多
/pattern/pattern/ 符合两个模式的行....
动作有如下几种:
p 表示范围内的行,常用
d 表示删除范围内的行,常用
= 表示打印出行号
a\ 表示符合范围的行,在每行后边假如一行信息,例如 /pattern/a\adf 意思就是在符合pattern的行后边假如一行“asf”.....
i\ 和上边类似,只是加在行的前边....
c\ 表示替换用其后边的内容替换掉符合范围的行的数据....s/pattern/pattern/g 表示由后一种模式替换前一种模式匹配的行的对应位置,后边加g表示全换...
s/pattern/&pattern/g 表示由后一种模式串放到前一种模式匹配的行的对应位置的后边,后边加g表示全换...
s/pattern/pattern&/g 表示由后一种模式串放到前一种模式匹配的行的对应位置的前边,后边加g表示全换...
用行号表示范围,然后p打印出来,其实就是提取行,而AWK是可以提取列的,很好的搭档啊
用模式表示范围,然后p打印出来,这个时候和grep很像,感觉就是一个 grep,但是可能没有grep那样众多的选项,貌似更专业一些....
其实d动作,此时可以理解为grep的-v选项...
6.sort
sort [option] file
sort file 普通排序
sort -r file 文艺排序...逆序
sort -u file 会删除相同的行,然后排序
sort +n,-m 使用域n到m进行排序,域的分隔符可以使用 -t 选项指定
sort +n.k,-m.q 二逼排序...使用域n的第k个字符到m域的第q个字符进行排序,域的分隔符可以使用 -t 选项指定
sort +2n file 在file的第2列(域)按数字方式排序,如果没有n,则表示按字符顺序排队
7.uniq
uniq [option] file
uniq file 普通去重
uniq -u file 不显示重复行
uniq -d file 只显示重复行,每组重复行只显示一行
uniq -c file 统计重复行行数,这个很重要,可以做统计用