1.cut命令处理单行单列数据。
cut 常用参数:
(1)-c 截取字符后面接字符位置:
cut -c n截取第n个字符
cut -c n1,n2截取n1到n2的字符
(2)-d 按什么截取
cut -d ‘:’ 按 ‘:’进行截取,一般与-f连用
(3)-f 可以理解为获取第几列
date | cut -d ‘:’ -f 3
终端输入:date
返回结果为:
Thu Dec 22 21:43:28 EST 2016
当我们想获取"21:43:28"时可以用到以下方法:
date | cut -d ' ' -f 4
当我们想获取当前整点数即“21”时可以进一步操作:
date | cut -d ' ' -f 4|cut -c 1,2
2.sed与awk处理多行多列数据。例如获取当前java版本
java -version得到的输出结果如下:
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
执行下面命令
java -version 2>&1 | sed -n '1p'|awk '{gsub(/"/,"");print $3}'
输出为:
1.7.0_75
注意:
1.管道命令只能处理标准输出,而java的输出是标准错误流。要把错误输出也输出到标准输出即在命令后面加上2>&1。
2.sed -n '1p'表示输出第一行
3.awk '{gsub(/"/,"");print $3}'打印第三列,其中gsub(/"/,"")表示将第三列的字符串中引号"替换成空
4.gsub(/A/,"B")即为gsub函数的用法:用A替换B
3.kill某进程脚本
#创建脚本
touch stop.sh
将下面代码复制到脚本中,修改进程名。想kill某进程的时候运行脚本即可!
kill -9 `ps -ef|grep 进程名|grep -v grep|awk '{print $2}'`