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

如何通过命令行合并TXT文件并为每条目追加原文件名

命令行解决方案(分平台)

Windows(CMD 命令行/批处理)

如果直接在CMD窗口执行,使用以下命令:

> merged_file.txt (
    for %f in (*.txt) do (
        if not "%f"=="merged_file.txt" (
            for /f "delims=" %l in ("%f") do echo %l#%f
        )
    )
)

如果保存为批处理脚本(.bat文件),需将变量前的%改为%%:

> merged_file.txt (
    for %%f in (*.txt) do (
        if not "%%f"=="merged_file.txt" (
            for /f "delims=" %%l in ("%%f") do echo %%l#%%f
        )
    )
)
  • for /f "delims=" 确保读取整行内容(包括行尾空格),避免截断。
  • if not 语句防止把生成的merged_file.txt也纳入合并范围。

Linux/macOS(Bash 终端)

方法1:用awk实现

> merged_file.txt
for file in *.txt; do
    [ "$file" = "merged_file.txt" ] && continue
    awk -v filename="$file" '{print $0 "#" filename}' "$file" >> merged_file.txt
done

方法2:用sed实现

> merged_file.txt
for file in *.txt; do
    [ "$file" = "merged_file.txt" ] && continue
    sed "s/$/#$file/" "$file" >> merged_file.txt
done
  • > merged_file.txt 先清空目标文件(若已存在),再通过>>追加内容。
  • [ "$file" = "merged_file.txt" ] && continue 跳过目标文件,避免重复处理。

内容的提问来源于stack exchange,提问作者Hasan Mougharbel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 11:06:09