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

编写Bash脚本实现文件创建、写入及文本替换需求求助

Bash脚本完善方案

完整实现脚本

# 写入指定内容到文件(不存在自动创建,存在则覆盖)
cat > NewFile.txt << 'EOF'
Write a bash script
To show off 
Your scripting skills
Then show the results 
EOF

echo "=== 原始文件内容 ==="
# 显示原始文件内容
cat NewFile.txt

echo -e "\n=== 替换后的文件内容 ==="
# 执行双规则文本替换,同时保留原始文件备份
sed -i.bak -e 's/Your/My/g' -e 's/Then/Now/g' NewFile.txt
# 显示替换后的内容
cat NewFile.txt

# 可选:如果不需要保留备份文件,取消下面一行的注释
# rm NewFile.txt.bak

关键修改说明

  • 简化文件创建与内容写入:无需判断文件是否存在,用Here Document语法直接写入指定内容,文件不存在会自动生成,存在则覆盖(若要追加内容,把>换成>>即可)。单引号包裹EOF是为了避免内容中的特殊字符被Shell解析。
  • 移除冗余的用户输入步骤:你需求中已明确指定文件内容,不需要额外让用户输入,直接写入更符合需求。
  • 用sed高效处理文本替换:这是Bash中处理文本替换的标准工具,无需把文件加载到数组:
    • -i.bak:原地修改文件的同时,生成.bak后缀的备份文件,防止误操作丢失原始内容
    • -e:允许同时指定多个替换规则,s/原字符串/新字符串/g中的g表示全局替换所有匹配项
  • 优化输出可读性:添加了分隔提示和换行,让不同阶段的输出更清晰区分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 16:12:13