【问题标题】:More than one '-e' in sed on OSXOSX 上的 sed 中有多个“-e”
【发布时间】:2013-04-29 18:05:07
【问题描述】:

我需要运行 sed -e 'command' -e 'command' file.txt,但我在 mac 上收到此错误:sed: -e: No such file or directory。知道如何解决这个问题吗?

【问题讨论】:

  • 在这里工作正常 - 你能显示你正在使用的确切命令吗?
  • sed -i -e "s/\.$REGIONID\./\./" -e "/\.$NONREGIONID\./d" application.conf
  • 你不能在没有扩展名的情况下使用-i,而且你的第二个-e不是以命令开头的。
  • 第二个-e 对我来说很好:它以地址开头,然后是命令。完全有效。
  • 是的 - 阅读而不理解。谢谢!

标签: macos sed


【解决方案1】:

我的sed 工作正常:

$ echo ax | sed -e 's/a/b/' -e 's/x/y/'
by
$ uname -a
Darwin Equinox.local 12.3.0 Darwin Kernel Version 12.3.0: Sun Jan  6 22:37:10 PST 2013; root:xnu-2050.22.13~1/RELEASE_X86_64 x86_64
$ which sed
/usr/bin/sed

所以问题肯定出在其他地方。从您在 cmets 中给出的命令来看,我会尝试将 '' 参数传递给 -i 选项:

$ sed -i '' -e "s/\.$REGIONID\./\./" -e "/\.$NONREGIONID\./d" application.conf

使用手册页中描述的警告:

如果给出零长度扩展名,则不会保存任何备份。这是 不建议在就地编辑时给出零长度扩展 文件,因为在以下情况下您可能会损坏或部分内容 磁盘空间耗尽等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 2014-11-09
    • 2012-05-29
    • 1970-01-01
    相关资源
    最近更新 更多