Command-Line
如何在忽略某些文本的情況下重定向
一些潛在的重複可能如下:
但我不能由此推斷來解決我的問題。所以,我在這裡問。
所以,這是我到目前為止得到的:
sbcl --noinform --non-interactive --eval "(ql:quickload :lambda-calculus-compiler)" < test.lisp > x.txt
我正在嘗試評估一個 lisp 文件,讀取一個文本文件
test.lisp
並將其用作(ql:quickload :lambda-calculus-compiler
. 載入此函式時,將呼叫 reads 讀取內容,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)
。任何幫助將不勝感激。請不要將此標記為重複項。正如我所提到的,我無法從上面連結的答案中推斷出來。
謝謝。
一種選擇是在重定向到文件之前通過 sed 管道命令:
sbcl --noinform --non-interactive --eval "(ql:quickload :lambda-calculus-compiler)" < test.lisp | sed '1,/Loading "lambda-calculus-compiler"/ d' > x.txt
這將刪除從 1 開始到包含該片語之後的行。
但我懷疑可能還有其他特定於 sbcl 的選項,正如我在評論中提到的那樣。