2016-01-13 19 views
0

我已經搜索了很多內容,但無法找到任何告訴我如何在使用jrunscript執行JS時訪問stdin的任何內容。如何在jrunscript或jjs中訪問stdin(在win7上)

這似乎是不可能的。

用例: 我想寫一個小小的JS腳本,在我想通過管道傳遞文本數據的cmd上使用正則表達式替換。

>cat file | jrunsscript -f apply-regex.js 

...出來的結果(我可以管入一個文件等)。

因此,我需要訪問stdin以讀取管理到jrunsscript的內容。

備註:因爲我通常使用sed,但是在某些情況下正則表達式本身涉及引號時會出現問題。

+1

這是什麼都做對Arg的jsrunscript

  • 使用JS輸出與Windows批處理(.bat)文件? – Squashman

  • +0

    @Squashman:更新了我的OP。 .BAT將'jrunsscript -f apply-regex.js'轉換爲'apply-js-regex.bat' – elonderin

    回答

    0

    不知道這是在題目:http://docs.oracle.com/javase/7/docs/technotes/tools/share/jsdocs/GLOBALS.html

    read(prompt, multiline) 讀取從標準輸入的一行或多行 基於您的評論打印提示

    後,我認爲你需要使用如圖參數:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jrunscript.html

    用法:

    jrunscript -f test.js "Hello World"

    獲取的說法:

    document.write(arguments[0]);

    在更多的研究,您可以通過交互模式爲:

    jrunscript -f -

    交互模式,從讀劇本標準輸入。如果這是使用,這應該是最後的-f選項

    但仍然不清楚,如果這是你正在尋找什麼。

    +0

    抱歉,那個dosnt會將其切斷。更新我的OP給更多的上下文 – elonderin

    0

    解決方法迄今是

    1. 管道輸入到文件
    2. 通臨時文件的需要