使用sed在mac os x上使用bash查找文本和删除行

时间:2017-03-30 21:13:32

标签: sed

我发现当我运行这个bash脚本删除与模式匹配的两行时,我得到了:1:“/ etc / nsmb.conf”:n命令末尾的额外字符 - 运行时出错 这是代码问题行:

sed -i s/[default]/d /etc/nsmb.conf
sed -i s/signing_required=no/d /etc/nsmb.conf

非常基本,但不确定语法。查找答案似乎Mac OS X可能需要额外的字符,但不知道它们可能是什么。只是试图删除文件中的这两行:

[default]
signing_required=no

感谢任何帮助

1 个答案:

答案 0 :(得分:0)

尝试sed "/\[default\]/d;/signing_required=no/d" filename
看来你的sed进入了文件名,仍然期待命令(参见Benjamins评论的解释)。

同样[default]匹配任何至少包含其中一个字符的行 在使用" -i"之前尝试查看结果 然后返回使用" -i.bak"正如Benjamin评论的那样,该文件将提供在Mac OS上似乎必须的扩展。 (我在Mac OS上不知道,所以归功于@Benjamin。)