每天花2小时处理文本?这5个技巧能帮你省下来
你是不是也这样:
从日志里复制一堆错误信息,手动过滤;把一个JSON格式化成可读结构;或者把CSV数据转成YAML配置——每次都打开不同的网页,手动复制粘贴。
这些小事攒在一起,每天至少浪费2小时。
今天分享5个文本处理技巧,每个都结合命令行工具和navbox在线工具。学完这些,你的效率至少翻一倍。
技巧1:用grep快速筛选日志
日志文件动不动就几万行,要找几个错误信息,手动翻根本不可能。
grep是命令行里的瑞士军刀,一行命令搞定:
# 查找所有ERROR级别的日志
grep "ERROR" app.log
# 统计每种错误出现的次数
grep -o "ERROR.*" app.log | sort | uniq -c | sort -rn
# 只看最近100行的错误
tail -100 app.log | grep "ERROR"
navbox配套工具: JSON格式化工具 和 日志分析指南 能帮你进一步处理grep出来的结果。
实操场景:上周我在排查一个接口超时问题,用这行命令3分钟就定位到根因:
grep -E "(timeout|504|Gateway)" access.log | tail -50
技巧2:awk处理列数据
CSV或表格数据,grep只能全文匹配。要按列处理,得用awk。
# 提取第3列
awk '{print $3}' data.csv
# 筛选第2列大于100的行
awk '$2 > 100' data.csv
# 计算某列的总和
awk '{sum+=$1} END {print sum}' sales.csv
navbox配套工具: CSV查看器 能直接上传CSV文件查看,支持搜索筛选,比命令行更适合可视化检查。
我之前处理过一份销售数据,要找出每个地区的总额:
# 按地区分组求和
awk -F',' '{sum[$1]+=$3} END {for(region in sum) print region, sum[region]}' sales.csv
一行命令搞定,比用Excel快多了。
技巧3:sed批量替换
修改配置文件或批量改名,sed最方便。
# 替换文件中的字符串
sed -i 's/old-text/new-text/g' config.yaml
# 删除匹配的行
sed -i '/TODO/d' code.py
# 提取括号内的内容
echo "hello (world)" | sed 's/.*(\(.*\)).*/\1/'
navbox配套工具: 文本替换器 支持正则表达式批量替换,适合不用命令行的小白用户。
实战场景:上周我需要把100个配置文件里的域名从 old.com 改成 new.com,用sed一行命令全搞定了:
find . -name "*.yaml" -exec sed -i 's/old\.com/new\.com/g' {} \;
技巧4:diff比较文件差异
代码review或者配置变更,最直观的方式是看diff。
# 比较两个文件
diff file1.py file2.py
# 并排显示
diff -y file1.py file2.py
# 只看变化的行
diff file1.py file2.py | grep "^[<>]"
navbox配套工具: diff检查器 支持两个文本框直接对比,高亮显示差异,比命令行更直观。
我之前帮团队review代码,用这招快速定位变更:
diff <(git show HEAD:config.py) <(git show HEAD~1:config.py)
技巧5:sort和uniq去重统计
数据去重、词频统计、排名计算,sort和uniq组合用。
# 去重并排序
sort names.txt | uniq
# 统计词频
sort words.txt | uniq -c | sort -rn
# 取前10个高频词
sort words.txt | uniq -c | sort -rn | head -10
navbox配套工具: 文本去重器 和 文本排序器 能在线完成这些操作,不用装任何软件。
上周我分析网站访问日志,用这招快速找出最热门的URL:
# 统计每个URL出现次数
awk '{print $7}' access.log | sort | uniq -c | sort -rn | head -20
总结:这5个技巧能覆盖80%的文本处理需求
| 任务类型 | 推荐工具 | 学习成本 |
|---|---|---|
| 日志筛选 | grep | 5分钟 |
| 列数据处理 | awk | 10分钟 |
| 批量替换 | sed | 5分钟 |
| 文件对比 | diff | 5分钟 |
| 去重统计 | sort + uniq | 5分钟 |
navbox的配套工具能帮你完成同样的操作,适合:
- 不想装命令行环境的人
- 临时处理小文件
- 分享给不懂技术的人使用
下一步行动
挑一个你今天要处理的文本任务,用上面任意一种方法试试。
如果你经常处理日志,建议先学grep;如果经常改配置文件,sed是你的好朋友。
需要工具支持?navbox.com.cn/tools/ 有93个免费在线工具,全部打开即用,不注册不下载。
参考资料: