我希望了解如何在Common Lisp中进行文件批量编辑。我曾经需要这样做并使用了Perl和Bash。出于好奇,我想知道Common Lisp的解决方案。
我使用了以下方法:
我使用了以下方法:
find -name '*.lisp' -execdir perl -0777 -pi.bak -e 's/foo/bar/mi' '{}' '+'
它起到了事半功倍的效果。
以上命令将目录中的所有文件(及其子目录)传递给一个perl程序。Perl程序搜索正则表达式“foo”并用正则表达式“bar”替换它,然后在原地保存新的(编辑后)文件。
感谢您在CL解决方案上提供的任何指导。
mapcar
、directory
、with-open-file
、read-char
、read-line
、write-char
、write-line
和replace
函数。手册地址:http://www.lispworks.com/documentation/HyperSpec/Front/。 - John Pick