文本批量处理工具:13 种操作一键搞定

把你经常在终端敲的 sort | uniq | nl | sed 's/^/ /' 搬到网页上,点点鼠标就行。

背景

作为数通工程师,你可能经常:

  • 整理 IP 列表(去重 +排序 +加行号,导给 Excel)
  • 处理设备资产清单(去空白行、排序)
  • 编辑配置变更清单(统一大小写)

每次都开终端敲命令?麻烦。 搜在线工具?要登录 + 各种广告 + 隐私风险。

干脆做了这个 —— 零依赖、纯前端逻辑、可多选组合

13 种操作

按类别分组:

🧹 清理类

  • 去除每行首尾空白
  • 删除空行
  • 去除所有空格
  • 去除连续空行(保留 1 个)

🔀 排序类

  • 升序排序
  • 降序排序
  • 去重(保留顺序)

🔤 转换类

  • 转大写
  • 转小写
  • 反转每行
  • Tab ↔ 4 空格

📝 格式化类

  • 添加行号
  • 只统计(行数 / 字符数)

工具演示

文本批量处理

输入 7 行 IP(含重复 + 无序):

192.168.1.1
192.168.1.2
192.168.1.1
10.0.0.1
192.168.1.2
172.16.0.1
192.168.1.3

勾选:去除空白行 + 去重 + 升序排序 + 添加行号

输出:

  1 | 10.0.0.1
  2 | 172.16.0.1
  3 | 192.168.1.1
  4 | 192.168.1.2
  5 | 192.168.1.3

使用场景

场景 1:整理资产清单

老板给你一份设备清单(Excel 复制出来乱糟糟):

Switch-01
Switch-03
Switch-01   ← 重复
Switch-02

Switch-04    ← 空行
router-01

→ 勾选【去除空白行 + 去重 + 排序】,3 秒出干净列表。

场景 2:批量生成配置

输入:vlan 10
输入:vlan 20
输入:vlan 30

→ 勾选【添加行号】,输出:

  1 | vlan 10
  2 | vlan 20
  3 | vlan 30

→ 直接贴进配置文件。

场景 3:日志分析预处理

WAF 日志导出来 10000 行,需要:

  • 去除 [时间戳]
  • 去掉空行
  • 按 IP 排序
  • 添加行号

→ 勾选 4 项搞定。

场景 4:制作 WordPress 用户名列表

john.doe
jane.smith
john.doe    ← 重复
bob

→ 去重 → john.doe, jane.smith, bob

核心实现

每个操作就是一个函数:

def trim_lines(text):
    return '\n'.join(line.strip() for line in text.split('\n'))

def remove_empty(text):
    return '\n'.join(line for line in text.split('\n') if line.strip())

def dedup(text):
    seen = set()
    out = []
    for line in text.split('\n'):
        if line not in seen:
            seen.add(line)
            out.append(line)
    return '\n'.join(out)

def sort_asc(text):
    return '\n'.join(sorted(text.split('\n')))

# ... 其他 9 个

按顺序应用:

for op in ops:
    current = OPERATIONS[op](current)

整个工具不到 100 行 Python

vs 命令行

# 等价命令
sort -u ips.txt | nl | sed 's/^[[:space:]]*//' > result.txt

工具的优势:

维度 命令行 网页工具
学习成本 高(要记命令)
跨平台 不(Windows 没 sed) 通吃
可视化 高(统计对比)
分享 易(URL/截图)
处理 1MB+ 飞快 可能卡

日常小数据用工具,大数据用命令行。

在线使用

👉 文本批量处理

如果只是想对比两段文本,用 文本 diff 对比

未来扩展

可能会加的操作:

  • 🔍 提取 IP / 邮箱 / URL
  • 🔢 按某列排序
  • 📝 替换文本
  • 🔗 JSON ↔ CSV
  • 🔐 编码转换(UTF-8 ↔ GBK)

📱 关注「网英的日常」,每周一个实用工程师工具!