1)正规表示法:处理字串的方法
a)grep [-acinv] [--color=auto] '搜寻字串' filename
#-a:将binary档案以text档案的方式搜寻资料
#-i:忽略大小写
#-n:输出行号
#--color=auto:可以将找到的关键字部分加上颜色的显示
#^word:待搜寻的字串在行首
#word$:待搜寻的字串在行尾
字串特殊符号使用:
#.:任意一个字符
#*:重复零个到无穷多个前一个字符
#\:将特殊符号的特殊意义去除
#[list]:列出想要的字符,仅代表一个待搜寻的字符
#[^list]:列出里面不要的字符串或范围
b)整行处理:sed [-nefr] [动作]
#-n:只有经过特殊处理的那一行才会显示出来
#-e:直接在指令列模式上进行 sed 的动作编辑
#-f:直接將 sed 的动作写在一个档案内, -f filename 则可以执行 filename 內的 sed 动作
#-i:直接修改读取的档案內容,而不是由荧幕输出。
动作说明:
#n1, n2:选择进行动作的行数
#a:新增字串到下一行
#c:取代
#d:刪除
#i:插入字串到上一行
#s:直接进行取代工作,例如sed 's/要被取代的字串/新的字串/g'
c)分栏位处理:awk '条件类型1 条件类型2 ...' filename
#printf:格式化列印,例如printf '%s\t %s\t %s\t %s\t %s\t \n' $(cat printf.txt)
内置变量:例如last -n 5| awk '{print $1 "\t lines: " NR "\t columns: " NF}
#NF:每一行 ($0) 拥有的栏位总数
#NR:目前 awk 所处理的行号
#FS:目前的分隔字符,预设是空格
2)档案对比工具
a)diff [-bBi] 原始比对档 目的比对档
#以行为单位,通常用于对比统一档案的新旧版本差异上
b)cmp [-l] file1 file2
#以位为单位
c)patch
#与differ同时使用,体现旧档升级到新档的差异