在MacOSX上使用bash使用sed查找文本并删除行
我发现,当我运行这个bash脚本删除两行与模式匹配的代码时,我得到了-sed:1:“/etc/nsmb.conf”:n命令末尾的额外字符-运行时出错 以下是代码问题行:在MacOSX上使用bash使用sed查找文本并删除行,sed,Sed,我发现,当我运行这个bash脚本删除两行与模式匹配的代码时,我得到了-sed:1:“/etc/nsmb.conf”:n命令末尾的额外字符-运行时出错 以下是代码问题行: sed -i s/[default]/d /etc/nsmb.conf sed -i s/signing_required=no/d /etc/nsmb.conf 非常基本,但不确定语法。查找答案似乎MacOSX可能需要额外的字符,但不知道它们可能是什么。仅尝试删除文件中的这两行: [default] signing_requ
sed -i s/[default]/d /etc/nsmb.conf
sed -i s/signing_required=no/d /etc/nsmb.conf
非常基本,但不确定语法。查找答案似乎MacOSX可能需要额外的字符,但不知道它们可能是什么。仅尝试删除文件中的这两行:
[default]
signing_required=no
感谢您的帮助请尝试sed/\[默认\]/d;/signing\u required=no/d“文件名”
似乎您的sed进入了文件名,仍然需要命令(请参阅Benjamins注释以获取解释) 另外,
[默认值]
匹配至少有一个字符的任何行。在使用“-i”之前尝试查看结果。
然后返回到文件上使用“-i.bak”,正如Benjamin所评论的,这将提供Mac OS上似乎必须的扩展名。(我对Mac OS不了解,所以这方面要归功于@Benjamin。)试试
sed/\[default\]/d;/signing\u required=no/d“文件名”
似乎您的sed进入了文件名,仍然需要命令(请参阅Benjamins注释以获取解释) 另外,
[默认值]
匹配至少有一个字符的任何行。在使用“-i”之前尝试查看结果。
然后返回到文件上使用“-i.bak”,正如Benjamin所评论的,这将提供Mac OS上似乎必须的扩展名。(我对Mac OS不了解,所以这方面要归功于@Benjamin。)MacOS sed
-I
需要文件扩展名,所以sed认为s/[default]/d
是您的扩展名。请参见MacOS sed-i
需要文件扩展名,因此sed认为s/[default]/d
是您的扩展名。看见