You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拆分文本文件并以文件内条目作为新文件名

解决方法:将制表符分隔的文本行拆分为独立文件

这里有两个实用的方案,不管你习惯用命令行脚本还是Python都能轻松搞定你的需求:

方案1:Bash命令行脚本(适合Linux/macOS/WSL环境)

如果你用的是类Unix系统或者Windows的WSL,直接用bash脚本最快捷:

#!/bin/bash
# 假设你的原文件名为input.txt,替换成你实际的文件名
while IFS=$'\t' read -r first_col second_col; do
    # 将整行内容写入以第二个条目命名的文件
    echo -e "$first_col\t$second_col" > "$second_col"
done < input.txt

关键说明:

  • IFS=$'\t':设置字段分隔符为制表符,确保正确拆分每行的两个条目
  • read -r first_col second_col:把每行的两个部分分别存入变量first_col和second_col
  • echo -e "$first_col\t$second_col":保留原行的制表符格式写入新文件;如果只需要保存第一个字段,改成echo "$first_col"即可
  • 如果你希望新文件带后缀(比如.txt),把"$second_col"改成"$second_col.txt"

方案2:Python脚本(跨平台,Windows/macOS/Linux通用)

如果需要跨平台支持,或者要处理一些异常情况(比如空行、格式错误的行),Python脚本更稳妥:

# 替换成你的输入文件路径
input_file = "input.txt"

with open(input_file, 'r', encoding='utf-8') as infile:
    for line_num, line in enumerate(infile, 1):
        # 去除首尾的换行符和空白字符
        cleaned_line = line.strip()
        # 跳过空行
        if not cleaned_line:
            continue
        
        # 按制表符拆分字段
        columns = cleaned_line.split('\t')
        # 检查是否正好是两个字段
        if len(columns) != 2:
            print(f"第{line_num}行格式错误(不是两个制表符分隔的条目),已跳过:{cleaned_line}")
            continue
        
        # 获取文件名和内容
        filename = columns[1].strip()
        # 如果只需要保存第一个字段,把下面的cleaned_line改成columns[0].strip()
        content = cleaned_line
        
        # 写入新文件
        try:
            with open(filename, 'w', encoding='utf-8') as outfile:
                outfile.write(content + '\n')
            print(f"已成功创建文件:{filename}")
        except Exception as e:
            print(f"创建文件{filename}失败:{str(e)}")

额外提示:

  • 如果原文件中存在重复的第二个条目,后面的行会覆盖之前的文件。如果要避免覆盖,可以给重复文件名加序号(比如ds104_1、ds104_2)
  • 确保第二个条目里不包含系统不允许的文件名字符(比如/、\、:、*等),否则会创建文件失败

内容的提问来源于stack exchange,提问作者Vivek Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:40:17