複数ファイル内の一括文字列置換

バリバリ卒論を書いていて,少し一段落.

何気なく,様式が書かれたサンプルを読み直していたら,衝撃的な様式指定が.

句点は「。」を用いよ

えーっ,IMEで句点はピリオド「.」設定だし.変えるつもりもないし.

複数のtexファイルから,「.」→「。」するシェルスクリプトを10分で作った.

今後,機能拡充するかもしれないのでメモ.

#/bin/zh
cd (texのあるディレクトリ)
mkdir .temp
files="*.tex"
for filepath in ${files}
do
 sed -e s/./。/g ${filepath} > ./.temp/${filepath}
done
mv -f ./.temp/*.tex ./
rm -d ./.temp

sedで上書きオプション使うのがうまくいかなかったので,

.tempという隠しフォルダを作って,そこに一時的に置換したtexファイルを格納.

全てのファイルで置換が終わったら,隠しフォルダの中身で上書きし,最後にフォルダごと削除,というだけ.

卒論用にカスタマイズといえば,quickrunで普段のmakelatexじゃなくて,卒論用にcompileというのを作成し,それをquickrunで走らせる設定に変更.

cd (卒論フォルダ)
sh (上記の一括置換スクリプト)
platex ./thesis.tex
pbibtex ./thesis.aux
platex ./thesis.tex
dvipdfmx ./thesis.dvi
open ./thesis.pdf

これで,毎回句点置換して,(bibtex作ってくれた上で)pdfコンパイルしてくれる.

うまく動けばいいんだよっ.

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中