在emacs中将文本添加到多个文件的顶部

时间:2015-01-02 03:06:51

标签: emacs

我想在目录中的所有文本文件的顶部添加几行文本(版权)。我可以在没有复制/粘贴每个文件的emacs中执行此操作吗?

2 个答案:

答案 0 :(得分:3)

这是从Chris Conway对另一个问题的回答中复制的:Using Emacs to recursively find and replace in text files not already open

  1. M-x find-name-dired:系统将提示您输入根目录和文件名模式。
  2. 按t键为所有找到的文件“切换标记”。
  3. 按“Q”查询“文件中的查询替换...”:系统将提示您输入查询/替换正则表达式。
  4. 继续使用query-replace-regexp:SPACE替换并移至下一场比赛,n跳过比赛等等。
  5. 你可以用同样的方式使用它

答案 1 :(得分:1)

是的,

find . -type f -exec emacs -batch '{}' --eval '(insert-string "foo\nbar\nbaz\n")' -f save-buffer \;

或其他相似之处。 emacs位是

emacs -batch filename --eval '(insert-string "foo\nbar\nbaz\n")' -f save-buffer

"foo\nbar\nbaz"替换为您的消息。但是,使用emacs实际上是非常难以理解的。您可以将版权标题放入文件中并使用cat header file > tempfile; mv tempfile file