使用指南

在线Linux 文本工具 — grep · awk · sed

粘贴日志后用 grep 筛选、awk 提取列、sed 替换,用 sort、uniq 统计重复项。在支持的选项范围内连接管道。

使用方法

  1. 将日志或文本粘贴到“原始文本”,该输入框支持多行。
  2. 在单行“命令”框中输入 grep 'ERROR',或用管道连接:grep 'ERROR' | sort | uniq -c。
  3. 点击运行或在命令框按 Ctrl+Enter(Mac 为 ⌘+Enter)。编辑不会自动运行,运行时可停止。
  4. 查看结果,使用放大查看或复制完整输出。原始输入保持不变。
  5. 修改原文或命令后重新运行。在此之前不能复制或放大旧结果。各重置图标仅清空对应输入并恢复焦点。

输入与输出示例

统计重复错误日志

输入示例

原始文本:
ERROR host api
INFO host web
ERROR host api
ERROR host worker

命令:
grep 'ERROR' | sort | uniq -c

结果示例

      2 ERROR host api
      1 ERROR host worker

背景知识

标准输入、输出和管道
标准输入是命令读取的数据,标准输出是结果。管道(|)把前一个命令的输出传给下一个。grep 筛选后的行才进入 awk,因此顺序会影响结果。
grep:搜索行
选择匹配的行。默认使用正则表达式,-F 按字面字符串搜索,-E 使用扩展正则。grep -E 'ERROR|WARN' 中引号内的 | 表示“或”,不是管道。
awk:字段、条件和统计
将行拆分成字段,按条件筛选并计算合计。默认以空白分隔,$1 是第一字段,$3 是第三字段,$0 是整行。-F 改变分隔符,END 可输出最终统计。
sed:替换和删除行
s/查找/替换/g 替换行内所有匹配,/条件/d 从输出删除匹配行。sed '/DEBUG/d' 会排除 DEBUG 行。
sort 与 uniq:排序和重复统计
sort -n 按数值排序,-r 反向。uniq 只合并相邻相同行,因此统计全部重复时先 sort。uniq -c 添加次数,sort -nr 按次数从大到小排序。
cut 与 tr:提取和字符转换
cut 按位置或分隔字段提取,例如 cut -d ',' -f 1。tr 转换或删除字符,tr a-z A-Z 将 ASCII 字母转为大写。
head、tail 与 wc:部分查看和计数
head -n 3 显示前三行,tail -n 3 显示后三行。wc -l 统计换行符,-w 统计词,-c 统计字节。末行没有换行时,wc -l 可能小于可见行数。
引号和正则表达式
带空格或管道的表达式要加引号。awk 使用单引号,例如 awk '{print $1, $3}'。引号内的管道不会分隔命令,. 和 * 等正则字符具有特殊含义。

注意事项

常见问题

这个在线工具适合哪些任务?

粘贴日志后用 grep 筛选、awk 提取列、sed 替换,用 sort、uniq 统计重复项。在支持的选项范围内连接管道。

能直接使用终端命令吗?

仅限支持的命令和选项。将 grep ERROR app.log 改为 grep ERROR,并把文件内容粘贴到原始文本。这里不是完整 shell 或 GNU/Linux 环境。

sed 会改变原文吗?

删除和替换只影响输出,不修改输入或 PC、服务器文件,也不会写入新文件。复制结果后自行使用。

编辑后结果为何没有变化?

需要手动点击运行或按 Ctrl+Enter。旧结果仍显示,但重新运行之前禁用复制和放大。

没有匹配或耗时很长怎么办?

grep 不匹配时得到空结果。长任务可停止,或达到10秒限制后结束。缩小条件或减少数据再试。

uniq -c 为什么重复显示相同值?

uniq 只合并相邻相同行。用 sort | uniq -c 统计全部重复,再用 sort -nr 将次数从大到小排列。

Baro Work是无需登录的工具集合,输入与结果不存储在网站服务器或浏览器存储中。翻译与DNS的外部传输请参阅工具说明。

在首页使用全部工具 →