很多读者也都会用:grep 查内容、sed 改文本、awk 拆字段。但真正拉开水平差距的,并不是“会不会某一个命令”,而是:你能不能把它们组合起来解决真实问题。grep、sed、awk 被称为 Linux 文本处理“三剑客”,不是因为它们各自有多强,而是因为它们天生就该配合使用。
从日志中找出error级别的记录,去掉无关字段,统计每天的错误次数。
2024-06-01 INFO user login success2024-06-01 ERROR db connect failed2024-06-02 ERROR timeout2024-06-02 INFO task finished......
grep "ERROR" app.loggrep "ERROR" app.log | sed 's/ERROR//'grep "ERROR" app.log | awk '{count[$1]++} END {for (d in count) print d, count[d]}'2024-06-01 12024-06-02 1
ps -ef | grep nginx | grep -v grep | awk '{print $2}' | wc -lps -ef # 获取进程列表grep nginx # 筛选目标进程grep -v grep # 排除自身awk '{print $2}' # 提取 PIDwc -l # 统计数量
grep:找谁
sed:怎么改
awk:怎么算
要不要过滤?
要不要修改?
要不要统计?
工具不在多,在于用得顺;
命令不在长,在于思路清。