【问题标题】:Emacs: shell commands on multiple files - how to refer to the actual file in the script?Emacs:多个文件上的shell命令 - 如何在脚本中引用实际文件?
【发布时间】:2011-08-16 10:33:51
【问题描述】:

假设我在 Emacs 中有一组(文本)文件,由

  • 在 Dired 或 by 中标记它们
  • 制作文件集

然后我想对组中的所有文件调用一个 shell 脚本。很容易。但是在脚本中,我有一个将文件作为参数的命令,如下所示:

foo(文件)

由于 Emacs 可以方便地对文件组进行循环,因此我需要一种 shell 变量来引用当前正在处理的文件,例如:

$file = {当前正在处理的文件}

foo($file)

但是如何获得对已处理文件的引用?我可能需要绝对路径。

感谢您的帮助。

【问题讨论】:

    标签: file shell variables scripting emacs


    【解决方案1】:

    看起来您正在对 shell 中的多个文件进行操作。我建议将文件名列表保存到文件中,然后使用命令xargs 对文件进行操作。

    例如,对保存在文件filelist 中的所有文件名运行doit.sh,命令将是:

    $ xargs -n 1 doit.sh < filelist
    

    在文件doit.sh中,当前文件是$1

    【讨论】:

      猜你喜欢
      • 2017-09-16
      • 2017-06-16
      • 1970-01-01
      • 2016-03-14
      • 1970-01-01
      • 2013-05-02
      • 1970-01-01
      • 2016-05-31
      • 2017-04-05
      相关资源
      最近更新 更多