bash - 使用 shell 脚本将文本替换为 pwd
问题描述
文件.txt
...
<LOCAL_PATH_TO_REPO>/src/java/example.java
...
^一个更长的文件,但这几乎解释了我想要做什么。
脚本.sh
dir=$(pwd)
# replace <LOCAL_PATH_TO_REPO> with dir
我尝试使用该sed
命令,但由于某种原因它不起作用。关于如何做到这一点的任何想法?
解决方案
您的错误意味着您在变量文本中有反斜杠。
最简单的解决方案是将分隔符更改为变量文本中没有出现的分隔符。
如果没有逗号,请使用逗号:
sed -i "s,LOCAL_PATH_TO_REPO,$PWD," file.yml
该-i
标志将更改引入输入文件(适用于 GNU sed
)。
推荐阅读
- javascript - 在不中断构建时间的情况下从主应用程序测试角度库
- facebook - 同一页面的多个 Facebook 页面 ID
- html - MVC 中的 Ajax.BeginForm 仅适用于 IE
- javascript - React js,将 fetch url 与另一个 fetch 混淆
- system-design - 系统设计/架构 - 搜索引擎 - “以 60 万美元的预算购买新泽西生活石的房屋”?
- reactjs - React 中的 IFrame,zabbix
- arrays - 在函数 SwiftUI 中访问变量
- neo4j - 如何找到与给定节点共享至少 n 个节点的所有节点
- class - 使变量等于类中的 Arraylist 值(处理)
- javascript - 在 try 块中抛出异常后,catch 块不会立即执行