その時sedのエスケープシーケンスが面倒で大変だったけど、awkを使うとちょっと楽になるらしい。
ということで、ちょっと書きなおしてみた。
awkでの置換は awk '{gsub("置換前","置換後",$0); print $0}' でできる。ダブルクォートはエスケープする必要があるがそれ以外は不要みたいなので、 前に比べると楽なような気がする。 置換は一回しかしないので、gsubじゃなくてsubでも良いかも。
#! /bin/bash
export FILE=$1 ## 入力ファイルするtexファイル
export DIR=$(echo $1 |sed s/\\.tex//) ## latex2htmlで作られるディレクトリ
latex2html -noreuse $FILE ## latex2htmlを実行する
cd $DIR ## htmlがあるディレクトリに移動
for i in *.html;do
mv $i $i.OLD
cat $i.OLD| awk '{gsub("</HEAD>","<script type=\"text/javascript\" \n src=\"http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML\"> \n </script>\n</HEAD>",$0); print $0}' | awk '{gsub("<HEAD>","<HEAD>\n <meta charset=\"UTF-8\">",$0); print $0}' > $i
rm $i.OLD
## ファイルの</HEAD>の上側をmathjaxを使うために書き換え。
## ファイルの<HEAD>のすぐ下側にutf-8を使うようにmetaタグで宣言する。
done
cd ../ ##元の場所へ戻る
#END
awkはフィールド毎に出力もしてくれるので便利。
例えば awk '{print $1}'で一番目のフィールドを出力してくれる。
dfで出力させて、sda1のマウント先を取り出すためにはdfの出力結果から6番目のフィールドを取り出せばOK。
df -lh |grep sda1|awk '{print $6}'
でうまく行くはず。これをcutでやるのはちょっとめんどくさそう。
これからはawkも使うようにしよう。
さて冬のボーナスも出たので自分のために2万の万年筆を購入した。
なんとなく書き味が良いような気がする。(値段のせい?)