In Python, könnten Sie so etwas wieIdiomatische Stapelverarbeitung von Text in Emacs?
fout = open('out','w')
fin = open('in')
for line in fin:
fout.write(process(line)+"\n")
fin.close()
fout.close()
(Ich denke, es wäre ähnlich in vielen anderen Sprachen auch) tun. In Emacs Lisp, würden Sie tun so etwas wie
(find-file 'out')
(setq fout (current-buffer)
(find-file 'in')
(setq fin (current-buffer)
(while moreLines
(setq begin (point))
(move-end-of-line 1)
(setq line (buffer-substring-no-properties begin (point))
;; maybe
(print (process line) fout)
;; or
(save-excursion
(set-buffer fout)
(insert (process line)))
(setq moreLines (= 0 (forward-line 1))))
(kill-buffer fin)
(kill-buffer fout)
, die ich Inspiration bekam (und Code) von Emacs Lisp: Process a File line-by-line. Oder sollte ich etwas ganz anderes ausprobieren? Und wie entfernt man die ""
aus der print-Anweisung?
... Fantastisch ... – hatmatrix
Querverweis auf die folgende Antwort, die zeigt, wie zusätzliche Befehlszeilenargumente an Emacs-Skripts übergeben werden: http://stackoverflow.com/questions/6238331/emacs-shell-scripts-how- to-put-initial-Optionen-ins-Skript # 6259330 – phils