一、wc用法

语法:wc [选项] 文件…  

-c:统计字节数

-l:统计行数

-w:统计字数

统计当前目录下所有文件数

【Shell脚本】扩展_第1张图片


二、seq用法

用法:seq [选项]... 尾数
 或:seq [选项]... 首数 尾数
 或:seq [选项]... 首数 增量 尾数

-f:指定格式输出

-s:指定分隔符

-w:在列前添加0,使宽度相同

【Shell脚本】扩展_第2张图片

例:输出5以内奇数之和

【Shell脚本】扩展_第3张图片

三、uniq用法

报告或忽略文件中的重复行。语法:uniq(选项)(参数)

选项:

-c:在每列旁边显示该行重复出现的次数

-d:仅显示重复出现的列

-u:仅显示一次出现的列

文件重复行去重

【Shell脚本】扩展_第4张图片

【Shell脚本】扩展_第5张图片

四、top命令

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

d : 改变显示的更新速度

n : 更新的次数,完成后将会退出 top

p:显示进程信息

【Shell脚本】扩展_第6张图片


五、sort命令

-n,:--numeric-sort 根据字符串数值比较

-g, --general-numeric-sort 按照常规数值排序

-r: --reverse 逆序输出排序结果

-u:--unique 配合-c,严格校验排序;不配合-c,则只输出一次排序结果


六、练习

(1)一个>4列的文件,如何用第四列去覆盖第二列

【Shell脚本】扩展_第7张图片

(2)统计日志里error出现的次数

如果一行最多只有一个error:cat serverinfo.log | grep "error" | wc -l

(3)获取某一列数字的最大值、平均值、最小值(最大最小的小技巧,在BEGIN赋值一个相反的最小或最大数)

【Shell脚本】扩展_第8张图片

(4)怎么杀掉8080端口的进程号

#!/bin/bash

res=`ps -ef | grep $1 | grep -v grep | grep -v $0|awk '{print $2}'`

for i in $res

do

    kill -9 $i

done


(5)每2秒获取某个进程的cpu和内存值,并保存到csv文件

【Shell脚本】扩展_第9张图片