1.正则表达式:
.点代表一个字符。^或\<表示开头,$或\>表示结尾。[条件],满足条件的任意一个字符。
grep '^xxx' yyy --color 找到yyy文件中以xxx开头的行。
grep 'xxx$' yyy --color 找到yyy文件中以xxx结尾的行。
grep 'xz\{m\}y' passwd --color查找passwd文件中在x和y之间含有m个z的行。
grep 'xz\{m,n\}y' passwd --color。查找passwd文件中在x和y之间含有至少m个,之多n个z的行。
2.sed 's/条件/操作' xxx 对xxx文件满足条件的进行指定操作(条件支持正则表达式)。
sed ‘m,nd’ yyy 在yyy文件中把m到 n行删除(d 表示删除),只是将结果显示在屏幕上了,并没有改变源文件。
sed -i 'm,nd' yyy 把yyy文件中第m行到n行删除(改变的是源文件,结果并不显示在屏幕上)。
sed ‘$d’ yyy 在yyy文件中把最后一行删除(d 表示删除),只是将结果显示在屏幕上了,并没有改变源文件。
sed 's/xxx/yyy/g' zzz 将zzz文件中所有xxx都换成yyy(s 代表替换 ,g 所有行)
sed -e 's/xxx/yyy/g' -e 's/mmm/nnn/g' zzz 将zzz文件中所有xxx都换成yyy,所有mmm都换成nnn(如果要进行多个操作则在每个操作之前加上一个 -e)。
sed '/xxx/iyyy' zzz 在含有xxx的上一行添加一行yyy(i 代表上一行,a 表示下一行)。
sed '/xxx/cyyyy' zzz 将zzz文件中含有xxx的行换成yyy(c 当前行)。
sed -f yyy xxx 把yyy文件中的所有操作都对xxx文件使用(yyy 为自己写的条件文件 -f 调用文件中的条件)yyy文件的写法:
s/root/ROOt/g。
s/bin/BIN/g
/adm/cxxxxxxxxxxxxx
只是一个例子演示条件文件的写法。
3.awk -F: '条件{操作}' xxx 对xxx文件满足条件的进行操作(-F 使用分隔符,不写则默认以空格或tab键作为分隔符,不写条件的话默认对全文操作)。
awk -F: '{print $1}' xxx 查看xxx文件全文以分号:作为分隔符的第一个字段($0 表示整行 ,$1 表示每行的第一个字段)。
ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | awk -F: '{print $2}' ,获得ip地址。
awk -F: '{print NR, $1}' xxx 查看xxx文件全文以分号:作为分隔符的第一个字段并显示行号(NR 显示行号)。
awk -F: '{print NR, $1 , NF}' xxx 查看xxx文件全文以分号:作为分隔符的第一个字段,显示行号和字段数(NR 显示行号,NF 显示字段数)。
awk -F: '{print NR, $1}' xxx 查看xxx文件全文以分号:作为分隔符的第一个字段(NR 显示行号)。
awk -F: '$3<=3{print $1}' xxx 对xxx先找到满足条件的行,在对这行进行相应操作。
date | awk 'print "YEAR:"$1 "\n" "MONTH:" $2' 按指定格式输出/排版(\n 表示回车)。
awk -F: 'BEGIN{OFS="\t\t";ORS="\n"}{print $1, $2}' xxx (OFS 定义字段之间的分隔符,ORS 定义行与行之间的分隔符)。
4.declare -i aa 定义整形变量aa。
let bb=1+8 等价于bb=$((1+8)),进行数值运算
echo $? 查看最后一次命令的返回值。
数值的比较:等于 -eq ,大于 -gt ,大于等于 -ge ,小于 -lt ,小于等于 -le 。而字符的比较分别对应 ==, > , >= ,< ,<= 。
test $aa -eq $bb 比较aa 与 bb的大小,相等返回0,不等返回非0 (也可使用[ $aa -eq $bb ] 进行比较,中括号两侧一定要有空格),通过echo $? 查看返回值。
[ -f xxx ] 判断xxx文件是否存在,存在返回值为0(-r 判断xxx文件是否具有读权限,-w 判断文件是否有写权限 ,-x 判断文件是否具有可执行权限,-z 判断字符是否存在)。
5.if 判断语then语句;
阅读(659) | 评论(0) | 转发(0) |