【问题标题】:SED Command not executing through JAVA codeSED 命令未通过 JAVA 代码执行
【发布时间】:2017-07-12 08:49:55
【问题描述】:

我正在尝试从我的 Java 代码中执行 sed 命令。该命令基本上是在文件 OIMV2Migration.sh 中的任何地方用“python”替换单词“java”。

我使用的代码sn-p是:

String [] replaceTextInOIMscipt = {"sed" , "'s:java:python:g'" ,OIMV2Migration.sh"};

Runtime.getRuntime().exec(replaceTextInOIMscipt);

这段代码没有对 OIMV2Migration.sh 文件进行任何更改。

【问题讨论】:

  • 试试:{"sed" , "-i", "'s:java:python:g'"...
  • 试过了。现在还不行。
  • 这是在哪个平台上?具体来说,您使用的是 GNU sed 吗?
  • 它在 linux 上。
  • @SurbhiMittal,您尝试过我在下面发布的解决方案吗?如果是并且对您有帮助,请考虑点赞并接受。

标签: java shell sed


【解决方案1】:

它不起作用,因为您的 sed 脚本无效。它以单引号字符' 开头,这不是有效的sed 命令。您希望它以 s 开头,在您的情况下:

String [] replaceTextInOIMscipt = {"sed", "s:java:python:g", "-i", "OIMV2Migration.sh"};
Runtime.getRuntime().exec(replaceTextInOIMscipt);

另外,您缺少 -i/--in-place 标志来编辑文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多