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

如何通过循环将非bis文件中#开头的行添加到对应bis文件的开头

实现方案

你可以直接用bash循环批量完成操作,不需要复杂逻辑:

方案1:编号连续的场景(你的示例为1~3连续编号)

直接遍历对应编号即可:

for num in {1..3}; do
  # 提取非bis文件的#开头行,和原bis文件内容合并后覆盖写入
  grep '^#' "${num}.txt" | cat - "${num}-bis.txt" > tmp && mv tmp "${num}-bis.txt"
done

命令说明:

  • grep '^#' "${num}.txt":精准匹配行首为#的行,避免误匹配内容中间带#的行
  • cat - "${num}-bis.txt":-代表接收管道传递的#开头行内容,拼接顺序为「#开头行在前、原bis文件内容在后」
  • 用临时文件中转后覆盖原文件,避免直接读写同一文件导致内容丢失

方案2:编号不连续的场景

自动识别所有符合格式的非bis文件,匹配对应bis文件处理:

for file in [0-9]*.txt; do
  # 提取文件编号(去掉后缀.txt)
  num=${file%.txt}
  # 仅当对应bis文件存在时执行操作
  if [ -f "${num}-bis.txt" ]; then
    grep '^#' "${num}.txt" | cat - "${num}-bis.txt" > tmp && mv tmp "${num}-bis.txt"
  fi
done

测试方法

正式修改前可以先执行以下命令打印处理后的结果,确认符合预期再执行正式写入操作:

for num in {1..3}; do
  echo "=== ${num}-bis.txt 处理后 ==="
  grep '^#' "${num}.txt" | cat - "${num}-bis.txt"
done

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:45:02