如何在MacOS上使用sed添加新线?

如何在MacOS上使用sed添加新线?,sed,Sed,我想在和 是我干的 sed的###\n#g”文件名但不起作用。一些seds,尤其是Mac/BSD,不将\n解释为换行符,您需要使用实际的换行符,前面有反斜杠: $echo foo|sed's/f/f\n/' fnoo $echo foo | sed s/f/f\ > /' F 面向对象 $ 或者您可以使用: echo foo|sed$'s/f/f\\\n/' 一些seds,尤其是Mac/BSD,不会将\n解释为换行符,您需要使用实际的换行符,前面加一个反斜杠: $echo foo|sed

我想在


是我干的


sed的###\n#g”文件名
但不起作用。

一些
sed
s,尤其是Mac/BSD,不将
\n
解释为换行符,您需要使用实际的换行符,前面有反斜杠:

$echo foo|sed's/f/f\n/'
fnoo
$echo foo | sed s/f/f\
> /'
F
面向对象
$ 
或者您可以使用:

echo foo|sed$'s/f/f\\\n/'

一些
sed
s,尤其是Mac/BSD,不会将
\n
解释为换行符,您需要使用实际的换行符,前面加一个反斜杠:

$echo foo|sed's/f/f\n/'
fnoo
$echo foo | sed s/f/f\
> /'
F
面向对象
$ 
或者您可以使用:

echo foo|sed$'s/f/f\\\n/'

由mac提供两种解释:

  • echo foo|sed's/f/f\'$'\n/'
  • echo foo|gsed's/f/f\n/g'

  • 由mac提供两种解释:

  • echo foo|sed's/f/f\'$'\n/'
  • echo foo|gsed's/f/f\n/g'

  • …否则你就砸它!在mac/osx上的insert上为我工作:

      sed "2 i \\\n${TEXT}\n\n" -i ${FILE_PATH_NAME}
      sed "2 i \\\nSomeText\n\n" -i textfile.txt
    

    …否则你就砸它!在mac/osx上的insert上为我工作:

      sed "2 i \\\n${TEXT}\n\n" -i ${FILE_PATH_NAME}
      sed "2 i \\\nSomeText\n\n" -i textfile.txt
    

    是不是
    sed的###\n#g”文件名
    谢谢你的评论。我试过用“s”但还是没用你说“没用”是什么意思?输出错误?错误消息?其他内容?用\x0D替换\n,归功于:不是吗
    sed的##\n#g”文件名
    谢谢您的评论。我试过用“s”但还是没用你说“没用”是什么意思?输出错误?错误消息?其他内容?将\n替换为\x0D,归功于:如何在mac?ELI5上安装gsed?请我不明白为什么我们要在美元符号前转义单引号。@Beco您可以使用自制软件安装
    gsed
    brew安装gsed
    。按照(1)的工作方式,它连接两个字符串,第一个字符串字面上是“s/f/f\”,第二个字符串前的美元符号将“\n”扩展为实际的新行字符。这样,
    sed
    将接收以下字符串:
    s/f/f\↵/。我使用
    brew安装gnu sed获得了gsed。如何在mac上安装gsed?ELI5?请我不明白为什么我们要在美元符号前转义单引号。@Beco您可以使用自制软件安装
    gsed
    brew安装gsed
    。按照(1)的工作方式,它连接两个字符串,第一个字符串字面上是“s/f/f\”,第二个字符串前的美元符号将“\n”扩展为实际的新行字符。这样,
    sed
    将接收以下字符串:
    s/f/f\↵/。我通过
    brew安装gnu sed获得了gsed