下面是一个简单的示例:
- (defun insertlinebelow ( txt str new / des flg lin lst )
- (if
- (and
- (setq txt (findfile txt))
- (setq des (open txt "r"))
- )
- (progn
- (while (setq lin (read-line des))
- (if (= str lin)
- (setq lst (vl-list* new lin lst) flg t)
- (setq lst (cons lin lst))
- )
- )
- (close des)
- (if (and flg (setq des (open txt "w")))
- (progn
- (foreach str (reverse lst)
- (write-line str des)
- )
- (close des)
- t
- )
- )
- )
- )
- )
使用文件名、要匹配的行和新文本调用,例如:
- (if (setq fnm (getfiled "" "" "txt" 16))
- (insertlinebelow fnm "side1" "new text")
- )
如果成功,函数将返回T,如果未找到/无法读取/无法写入输入文件,或者如果在内容中未找到给定行,则返回nil。 |