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

如何在Bash批量复制文件时实现多文本替换需求

批量生成并修改GJF文件的Bash脚本优化

现有一段Bash代码可批量复制文件IRC1.gjf生成IRC001.gjf至IRC40.gjf,并通过sed命令将文件内容末尾的“1”替换为对应序号i。现需额外将每个文件中的“point1-F”替换为“point{i}-F”(如IRC40.gjf中替换为“point40-F”)

修改后的脚本如下:

for i in {001..40}; do 
    cp IRC1.gjf "IRC$i.gjf" &&
    sed -i -e "s/1$/$i/g" -e "s/point1-F/point$i-F/g" "IRC$i.gjf"
done

改动说明:

  • 在原有sed命令中新增一条替换规则:-e "s/point1-F/point$i-F/g",实现将文件内的point1-F替换为对应序号格式的point{i}-F
  • 使用-e参数可以在单次sed调用中执行多个替换操作,比多次调用sed更高效
  • 序号i保留了原脚本的前导零格式(如001),因此生成的point001-F会和文件名IRC001.gjf的编号格式保持一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 16:37:32