2
? (run-program "ls" '() :output *standard-output*)
money.lisp
ssqHitNum.txt
ssqNum.txt
#<EXTERNAL-PROCESS (ls)[1019] (EXITED : 0) #x3867BACE>
? (run-program "tail ssqHitNum.txt" '() :output *standard-output*)
#<EXTERNAL-PROCESS (tail ssqHitNum.txt)[1020] (EXITED : 71) #x38679E56>

CCL が "tail ssqHitNum.txt" を実行できないのはなぜですか?

4

2 に答える 2

2

ドキュメントhttp://ccl.clozure.com/ccl-documentation.html#Running-Other-Programs-as-Subprocessesで詳しく説明されているように、出力をキャプチャする必要があります。これは、文書化された方法の 1 つです。

(with-output-to-string (s)
      (ccl:run-program "ls" nil :output s))

出力は s に含まれるようになり、それで好きなことを行うことができます。

于 2012-07-27T01:14:30.210 に答える
1

次のように実行してみてください:
(run-program "tail" '("ssqHitNum.txt") :output *standard-output*) run-program の 2 番目の引数には、パラメーターを含める必要があります。

于 2012-03-13T13:35:58.653 に答える