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

如何合并多个文件并在每个文件的>标识前添加文件名

解决方案:给合并的文件标题行添加文件名前缀

这问题挺常见的,单纯用cat确实没法直接给每个文件的标题行加上文件名,得借助文本处理工具来实现。给你两个简单好用的方案:

方案1:用awk一键处理(推荐)

awk可以直接获取当前处理的文件名,用它来批量修改所有>开头的行最方便:

awk '/^>/ {sub(/^>/, ">"FILENAME"_")} 1' FILE* > Unique_file

解释:

  • /^>/:匹配所有以>开头的行(也就是你的标题行)
  • sub(/^>/, ">"FILENAME"_"):把行首的>替换成>文件名_,FILENAME是awk内置变量,自动获取当前处理的文件名
  • 1:awk里1代表逻辑真,会触发默认的打印操作,也就是输出所有行(不管有没有修改)
  • > Unique_file:把处理后的结果直接写入Unique_file(如果文件已存在会覆盖)

方案2:用shell循环+sed处理

如果你更熟悉sed,也可以用循环遍历每个文件,逐个修改后追加到目标文件:

# 先清空已存在的目标文件(可选,避免重复追加)
rm -f Unique_file

# 遍历所有FILE开头的文件
for file in FILE*; do
  # 替换当前文件里的>开头行为>文件名_开头,然后追加到Unique_file
  sed "s/^>/>${file}_/" "$file" >> Unique_file
done

解释:

  • for file in FILE*:遍历所有以FILE开头的文件
  • sed "s/^>/>${file}_/":用sed的替换命令,把行首的>替换成>当前文件名_
  • >> Unique_file:把处理后的内容追加到目标文件末尾

验证效果

处理完后,Unique_file的内容会和你期望的完全一致:

FILE1_content AGGAGAjg GAUGAUGUG AAG
FILE2_Againontent HDHDIHD DHHDDHK DH

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 10:27:27