正则表达式
符号 | 意义 |
---|---|
[:alnum:] | 0-9,A-Z,a-z |
[:alpha:] | A-Z a-z |
[:blank:] | tab,space |
[:cntrl:] | CR LF tab del |
[:digit:] | 0-9 |
[:graph:] | 除了空格外的字符 |
[:lower:] | a-z |
[:upper:] | A-Z |
[:print:] | 任何可打印出来的字符 |
[:punct:] | 标点符号 |
[:xdigit:] | 0-9,A-F,a-f |
[:space:] | 任何会产生空白 的字符 |
‘^abc’ | abc开头的 |
‘abc$’ | abc结尾的 |
‘a…b’ | ab中间有任意两个字符 |
‘oob*’ | oo后面有0或多个b |
‘go{2,5}d’ | gd中间有2-5个o |
文件内容操作命令
-
cut 将某一段信息提取出来,以行为单位。cut -d’分隔符’ -f 第几个字段
-
sed: 可以将数据进行增删改。 sed '2,5d’删除2-5行,sed '2a abc’在第二行后加abc, sed '2,5c xyz’将2-5换成xyz. sed -n '5,7p’取出第5-7行, sed ‘s/oldstr/newstr/g’
-
grep: 分析 行,把含有keyword的行显示 出来。
-
awk:将一行中的分成数个字段。 awk ‘condition{操作}’ filename. NF每行的字段数 NR当前处理行号 FS 分隔符。
awk ‘NR==1{printf “%10s %10s %10s”, $1,$2,“total” } NR>=2{total= $1+$2’ printf “%10s %10s %10s”,$1,$2,total}’,当第一行时,输出三列,第三列为“total”,第二行以后,第三列值为前两列相加。
BEGIN {FS=":"},在第一行前设置分隔符。 -
printf : 格式化打印
-
diff : 以行为单位对比两个文件
-
cmp: 以字节为单位去对比
-
patch:将diff制作出来的.patch文件,更新或还原。 patch -R还原 -pN(N新旧版文件目录层数)
-
pr 文件打印设置
排序命令
- sort
- wc
- uniq
划分命令
- split filex prefix
字符转换命令
- tr 删除或替换一段信息中的文字
- col 将tab换成对等的空格
- join 两个文件中有相同数据的行,加在一起
- paste,直接将两个文件贴在一起,以tab分开
- expand 将tab转成指定位数的空格