文本处理三剑客:grep 找、sed 改、awk 算

数据是 /srv/app/logs/access.log(nginx combined 格式,约 4.8 万行)。前四条演示 grep,中间三条 sed,后面是 awk 与三个「日志统计一行命令」。

deploy@server:/srv/app/logs

分工与口诀

grep  找行     grep -rn --include="*.conf" "bind_port" /etc
sed   改行     sed -i.bak "s/旧/新/g" file      然后 diff file.bak file
awk   算列     awk "{print \$1}" log | sort | uniq -c | sort -rn | head

统计三条腿:取列 → 归并计数 → 排序截断
  awk "{print \$9}" access.log | grep -v "^2" | sort | uniq -c | sort -rn

以上输出是真实命令结果的整理样本,用来观察字段含义;换一台发行版或版本,数值与顺序会变。