一些潜在的重复可能如下:
但我无法从中推断来解决我的问题。所以,我在这里问。
所以,这是我到目前为止得到的:
sbcl --noinform --non-interactive --eval "(ql:quickload :lambda-calculus-compiler)" < test.lisp > x.txt
我正在尝试评估一个 lisp 文件,读取一个文本文件test.lisp
并将其用作(ql:quickload :lambda-calculus-compiler
.加载此函数时,将调用读取函数,该函数将读取其中的内容test.lisp
,然后此评估将被重定向到x.txt
.
x.txt
以下是此操作后的内容:
To load "lambda-calculus-compiler":
Load 1 ASDF system:
lambda-calculus-compiler
; Loading "lambda-calculus-compiler"
(((LAMBDA (N) (LAMBDA (M) (LAMBDA (F) (LAMBDA (Z) ((M F) ((N F) Z))))))
(LAMBDA (F) (LAMBDA (Z) (F (F (F Z))))))
(LAMBDA (F) (LAMBDA (Z) (F (F (F Z))))))
我想忽略或摆脱
To load "lambda-calculus-compiler":
Load 1 ASDF system:
lambda-calculus-compiler
; Loading "lambda-calculus-compiler"
这是 的输出(ql:quickload :lambda-calculus-compiler)
。
任何帮助将不胜感激。请不要将此标记为重复。正如我所提到的,我无法从我上面链接的答案中推断出来。
谢谢。
答案1
一种选择是在重定向到文件之前通过 sed 通过管道传输命令:
sbcl --noinform --non-interactive --eval "(ql:quickload :lambda-calculus-compiler)" < test.lisp |
sed '1,/Loading "lambda-calculus-compiler"/ d' > x.txt
这将删除从 1 开始到包含该短语的后面的行。
但我怀疑可能还有其他特定于 sbcl 的选项,正如我在评论中提到的。