0

私はemacsで大量のhtmlファイルをテキスト処理したいので、次のようにします:

find . -type f -name "*.html" | while read myFile; do
    emacs emacs --no-site-file --no-init-file --batch \
    -script myScript.el --find-file "$myFile"
done

問題はmyScript.el、"$myFile" を実行して、変更した "$myFile" を保存することです。

おそらく 1 つのオプションは、コマンド ラインを追加することです。

(add-to-list 'command-line-functions '(lambda () (and (message "ARG:'%s'" argi) t)))

.emacs-- しかし、ロードする必要があります.emacs-- ロードする必要はありません。

おそらく、myScript.el に賢明な行をいくつか入れたほうがよいでしょう。

編集

私はちょうど考えました - まだもう1つのオプションは、myScript.elでファイルを見つけることです - それはfind-dired.

編集2

find-diredマークされたファイルを取得できないため、アプローチに問題があります:

(progn 
  (find-dired default-directory "-type f -name \"*.html\"")
  (dired-toggle-marks)
  )

動作しません。

4

1 に答える 1

0

私はbashループの助けを借りてそれを行うことができました. 追加した

(setq myFile "/home/boris/pst/wordy/edu/PreWW/_build/html/test.html")

myScript.el に移動し、ループを実行しました:

find ./_build/html -type f -name '*.html' | while read myFile; do
    MyFile=`readlink -f "$myFile"`
    perl -ne "s!setq myFile .+!setq myFile \"$MyFile\")!" myScript.el
    emacs --no-site-file --no-init-file --batch -script myScript.el
done

スクリプトを変更して実行します。

于 2012-08-27T12:21:21.853 に答える