Emacs: команды оболочки для нескольких файлов - как ссылаться на фактический файл в скрипте? - PullRequest
0 голосов
/ 16 августа 2011

Допустим, у меня есть группа (текстовых) файлов в Emacs, либо

  • помечая их в Dired, либо
  • делая набор файлов

Затем я хочу вызвать сценарий оболочки для всех файлов в группе.Достаточно просто.Но в этом сценарии у меня есть команда, которая принимает файл в качестве аргумента, например:

foo (file)

Поскольку Emacs удобно выполняет цикл для группы файлов, я хотел бынужна переменная типа оболочки, которая ссылается на файл, который обрабатывается в данный момент, что-то вроде:

$ file = {файл, который обрабатывается в данный момент}

foo ($ file)

Но как мне получить ссылку на обработанный файл?Мне, вероятно, нужен абсолютный путь.

Спасибо за любую помощь.

1 Ответ

1 голос
/ 16 августа 2011

Похоже, вы выполняете операции над несколькими файлами в оболочке. Я бы порекомендовал сохранить список имен файлов в файл, а затем использовать команду xargs для работы с файлами.

Так, например, для запуска doit.sh на всех именах файлов, сохраненных в файле filelist, команда будет выглядеть так:

$ xargs -n 1 doit.sh < filelist

В файле doit.sh текущий файл $1.

...