随笔 - 144  文章 - 0  评论 - 2  阅读 - 19万

Linux下命令分析,分割,日志统计的一些工具

awk 处理行列

cat /etc/passwd | cut -d: -f1
cat /etc/passwd | awk -F: '{print $1}'
cat /etc/passwd | awk -F: '{print "username:" $1 "=> uid:" $3 }'
#默认是以空格分隔
cat /etc/passwd | head -5 |awk -F: '{print "username:" $1 "=> uid:" $3 }'
#获取磁盘占有率,NR表示当前行号
df | awk '{if(NR==4){print int($5)}}'
#获取总行数
df | awk 'END{print NR}'
#获取总列数
df | awk 'END{print NF}'
#第一行匹配192.168.100.1的行输出
cat file | awk '$1~/192.168.100.1/{print $0}'

sed 处理行

#显示行号查看文件
nl file
#查看第5行的数据
cat file | sed -n '5'p
#查看3-6行数据
cat file | sed -n '3,6'p
#去掉3-6行
cat test | sed '3,6'd
#查找包含bash的行
cat /etc/passwd | sed -n '/bash/'p
#查找1-包含sync内容的行
cat /etc/passwd | sed -n '1,/sync/'p 
#查找包含ssh内容的行到最后一行
cat /etc/passwd | sed -n '/sshd/,$'p 

uniq 统计

#统计文件里面紧挨着的相同行出现的次数,统计网站ip访问次数等
uniq -c file
#上面的优化方案
cat file2 | sort | uniq c
#上面的优化方案,-r反排序统计
cat file2 | sort -r | uniq c
#上面的优化方案,-r反排序统计,-k1根据第一列排序,针对多列情况
cat file2 | sort -k1 -r | uniq c

文件分割

#将file2按照每5行分割为一个文件
split -5 file2 spt 

统计apache访问记录

cat access.log | awk '{print $1}' | sort | uniq -c
posted on   黑夜开发者  阅读(27)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示