Bash 如何替换包含'\n';在macos 11.1中使用sed

Bash 如何替换包含'\n';在macos 11.1中使用sed,bash,macos,Bash,Macos,我想将文本“123\nabc”替换为“qqq”,这是我的代码: sed -i '' -e 's/"123\\nabc"/qqq/g' `grep "123\\nabc" -rl /Users/111/Desktop/1234` “/Users/111/Desktop/1234”是文本文档路径。但它有一个错误,名为“替换命令中的坏标志:”/“”。我不知道如何替换它,谁能帮助我。您可以尝试以下方法: sed -i -e 's|123\\nabc|qqq|g'

我想将文本“123\nabc”替换为“qqq”,这是我的代码:

sed -i '' -e 's/"123\\nabc"/qqq/g' `grep "123\\nabc" -rl /Users/111/Desktop/1234`
“/Users/111/Desktop/1234”是文本文档路径。但它有一个错误,名为“替换命令中的坏标志:”/“”。我不知道如何替换它,谁能帮助我。

您可以尝试以下方法:

sed -i -e 's|123\\nabc|qqq|g' /Users/111/Desktop/1234
你可以用|代替/。并使用\而不是单个\

使用
perl

perl -i -pe 's/123\\nabc/qqq/g' /Users/111/Desktop/1234

sed表达式末尾g前面的/s过多是否“123\nabc”、“s/”123\nabc“…”和“123\\nabc”都表示相同的字符串?每一个都意味着多行吗?
brew安装gsed
会让事情变得更容易。我想知道是否有其他方法可以解决它。一天后我会尝试gsed。它不起作用。