首页 > 解决方案 > 如何使用 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}或的文本,,但不是上面列出的单词。

标签: bashmacosshellsed

解决方案


抱歉,我应该用编辑器查看 csv:

它是 ""},{""Ausstattung"":"" 而不是 "},{"Ausstattung":"

在 sed 中,你甚至不需要逃避“如果你使用 '


推荐阅读