目录
作者:bandaoyu 文章持续更新,地址:https://blog.csdn.net/bandaoyu/article/details/103190949
shell 获取结果中的第n列,第n行
ls -l | awk '{print $5}' | sed -n '2p'
awk 是很实用的文本处理命令,print 到后带的是你要获取第几列,sed -n 是指定第几行。
AWK输出某几列
有这样一个文本,需要截取前5行
[root@SH]# cat test.txt
2 3651415576 940761 0 0 0000000000000000
3 3532686312 939551 0 0 0000000000000000
4 3873453656 984285 0 0 0000000000000000
5 3884604640 970761 0 0 0000000000000000
6 2116906224 493295 0 0 0000000000000000
7 1760674752 480700 0 0 0000000000000000
8 0 0 29979808 6002 0000000000000000
10 0 0 3299944 1433 0000000000000000
11 0 0 2199434640 312565 0000000000000000
- 可以awk '{print $1,$2,$3,$4,$5}
- 另外一种实现方法awk '{NF-=2}1',这里的1换成别的数字也可以,NF-=2表示倒数第二列
- AWK输出某几列 - n0n1的个人空间 - OSCHINA - 中文开源技术交流社区
linux下统计某个进程的CPU占用和内存使用
#!/bin/bash
# while loop
CpuMemStat=""
datemk=""
while true
do
CpuMemStat=` ps aux |grep -i server |grep redis |grep -v py`
datemk=`date "+%Y-%m-%d %H:%M:%S"`
echo $datemk $CpuMemStat >> result.txt
#echo $datemk $CpuMemStat
sleep 20s
done
上面的遇到CpuMemStat结果是多行的就歇菜了,改成