[英]writing command line output to text file
因為有一種簡單的方法可以使用> <outputfule.txt>
將結果寫入輸出文件,但這在我的情況下不起作用
我有客戶端服務器的一種情況,首先啟動服務器-
java -mx500m -cp stanford-ner-with-classifier.jar edu.stanford.nlp.ie.NERServer -port 9191 -loadClassifier classifiers/english.all.3class.distsim.crf.ser.gz &
現在服務器處於偵聽模式。 在這里,我從出現問題的情況下開始客戶端即時。
java -cp stanford-ner-with-classifier.jar edu.stanford.nlp.ie.NERServer -port 9191 -client
該請求輸入輸入的句子並在按回車鍵時在命令行上打印結果。 我以這種方式嘗試
java -cp stanford-ner-with-classifier.jar edu.stanford.nlp.ie.NERServer -port 9191 -client > result.txt
停止客戶端即時。 我可以從文本文件中讀取輸入並將其寫入結果文本文件中。
正確的方法是什么?
如果我正確理解您的查詢,您會期望
“ java -cp stanford-ner-with-classifier.jar edu.stanford.nlp.ie.NERServer -port 9191 -client”
從“ result.txt”中獲取輸入。
在這種情況下,您應該執行
“ java -cp stanford-ner-with-classifier.jar edu.stanford.nlp.ie.NERServer-端口9191 -client <result.txt”
更正的回復:
那你應該試試這個。
“ java -cp stanford-ner-with-classifier.jar edu.stanford.nlp.ie.NERServer-端口9191 -client <x.txt> y.txt”
從x.txt讀取輸入並將輸出寫入y.txt的位置
嘗試
echo "input sequence" | xargs java -cp stanford.jar NERServer -port 9191 -client > result.txt
這將用於將帶有參數的命令重定向到文件。
如果您只是想將參數傳遞給命令,則只需要
java -cp stanford.jar NERServer -port 9191 -client < result.txt`
要么
cat params.txt | xargs java -cp stanford.jar NERServer -port 9191 -client
xargs
應該將參數從文件發送到java
程序
PS為了簡潔和易讀,我省略了軟件包名稱
如果願意,您可以同時重定向標准輸入和標准輸出:
java -cp stanford.jar NERServer -port 9191 -client < input.txt > result.txt
或執行以下操作:
echo -e "line1\nline2" | java -cp stanford.jar NERServer -port 9191 -client > r.txt
在執行輸入/輸出重定向時,應用程序的運行方式與輸入/輸出不會被重定向的方式完全相同。
它不知道或不在乎您是從鍵盤輸入還是從某個地方重定向輸入。 因此,它將始終將相同的內容打印到標准輸出中(在您的情況下)
按RETURN NER標簽,或僅按RETURN完成
除了在解釋它們時將result.txt的第一行扔掉之外,您無能為力。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.