grep
grep 关键字 文件
. 一个字符
-
在文件中查找有关键字的行
grep ‘[Tt].m’ passwd –color
识别以T和t开头,和m中间有一个字符的单词
常用:
[]可选
^开头
^tom以tom开头
tom $以tom结尾
\<开头 \>结束
{m}m个数
grep 'to\{4\}m'
找到toooom{x,y}数目为x到y个
to\{1,3\}m
t和m中间有1-3个o
sed
sed 's/条件/d' 文件
删除
sed '1,2/d' hosts
显示删除1,2行
sed -i '1,2/d' hosts
直接对文件进行修改
sed '$d' hosts
删除最后一行
-
添加
sed '/adm/ixxxxx' hosts
在含有adm的上一行(i)添加xxxxxsed '/^adm/axxxxx' hosts
在开头(^)含有adm的下一行(a)添加xxxxx -
替换
sed '/adm/cxxxxx' hosts
含有adm的那一行替换成xxxxxsed 's/root/ROOT/g hosts'
文件中所有的root改为 ROOTsed -e 's/root/ROOT/g -e 'S/bin/BIN/g' hosts'
多个替换操作 ·set -f yy hosts
提前将操作写入yy,使用yy文件对hosts进行修改
awk
找到指定部分重新排版,分行处理
awk -F '条件{操作}' xx
-F指明分隔符,缺省位空格
awk -F: '{print $0}'
输出每行($0)第一个字段输出ip
ifconfig eth0 |grep 'inet addr'
|awk ‘{print $2}’ | awk -F: { print $2 }awk -F: '{print NR, $0 ,NF }' xx
显示行号(NR),并显示每行有几个字段(NF)条件判断
awk -F: '$1<=3 {print $3}' xx
-
date | awk '{print "year:"$1 "\n"}'
输出year:2017
-
设置分隔符
awk -F: 'BEGIN{OFS="\\t\\t"; ORS="\n\n"}{print \$1 \$2}' xx
ofs是字段之间分隔符,ORS是每行额分隔符
基础正则表达式
判断语句
diff 文件1 文件2
diff 路径1 路径2