Я хотел бы добавить пару строк текста (авторского права) в начало всех текстовых файлов в каталоге. Могу ли я сделать это в emacs без копирования/вставки для каждого файла?Добавить текст в начало нескольких файлов в emacs
0
A
ответ
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
.
3
Это скопировано с ответом Криса Конвея на другой вопрос: Using Emacs to recursively find and replace in text files not already open
- M-х найти имя-Dired: вам будет предложено ввести корневой каталог и шаблон имени файла.
- Нажмите t для «переключения метки» для всех найденных файлов.
- Нажмите Q для «Query-Replace in Files ...»: вам будет предложено ввести запрос/подмену regexps.
- Действуйте с запросом замены-регулярным выражением: ПРОСТРАНСТВО заменить и перейти к следующему совпадению, п, чтобы пропустить матч и т.д.
Вы можете использовать его таким же образом