bash - 如何使用 sed 替换“word{word”或“word}word”
问题描述
我尝试编写一个 bash 脚本来替换以下内容:
{"Ausstattung":"
"},{"Ausstattung":"
"}
在子文件夹的所有CSV
文件中。
这是我目前使用的:
function suche_und_ersetze() { // search and replace
LC_ALL=C find ./subfolder -type f ! -name ".DS_Store" -exec sed -i "" "s/${OLD}/${NEW}/g" {} \;
}
OLD='{\"Ausstattung\":\"'
NEW="#"
suche_und_ersetze
OLD='\"},{\"Ausstattung\":\"'
NEW=" #"
suche_und_ersetze
OLD='\"}'
NEW=""
suche_und_ersetze
不知怎的,我无法让它工作。"
该脚本正在替换没有or}
或的文本,
,但不是上面列出的单词。
解决方案
抱歉,我应该用编辑器查看 csv:
它是 ""},{""Ausstattung"":"" 而不是 "},{"Ausstattung":"
在 sed 中,你甚至不需要逃避“如果你使用 '
推荐阅读
- javascript - 通过 Ajax - MVC 将切换开关值插入 DB
- android - 了解如何在 android/Iphone 之间为 offer/answer (webrtc) 生成正确的 sdp
- vue-router - 如何将 vue-router 链接添加为 ag-grid-vue 列?
- cluster-analysis - 如何计算两个树状图中两个个体之间或两种聚类方法之间的共同相似性?
- jenkins - Jenkins 上安装后脚本的 npm install PATH
- typescript - 使用 Typescript 3 构建到 dist/ 文件夹时保持 src/ 文件夹结构
- android - 在 android studio 中添加 5 列表格行布局
- javascript - 除非字符串中有括号,否则前瞻不匹配
- javascript - 从生成的聊天窗口中抓取带有时间戳的文本数据
- postgresql - 我们如何配置 postgresql 9.2 以关闭比某个时间间隔更早的连接?