用途
論文では本文中に使用している略語を一覧にして表にまとめることがある。
TeXなどのテキストファイル原稿から略語を抽出するシェルスクリプト。
やっていること
指定したファイル(コード例ではカレントディレクトリの拡張子が".tex"のファイル)から
grepの正規表現で、「半角カッコに囲まれた半角数字、アルファベット(大文字小文字問わず)、スラッシュ、ハイフン、ピリオドのみで構成される2文字以上の要素」を探し出している。
注意点
- 言い換え表現などで、普通の一単語を括弧で囲っていると抽出してしまう。
- スラッシュ、ハイフン、ピリオド以外の記号を含める場合は正規表現の修正が必要。
コード
ソースファイル内の使用箇所を表示する場合。
grepの"-n"、"--color"オプションでそれぞれ行番号を表示、色つけしている。
for file in `ls *.tex`; do
echo ${file}
grep -n --color=always -e '([0-9a-zA-Z|/|.|-]\{2,\})' ${file}
echo
done
略語のみ一覧にしてアルファベット順にソートする場合。
for file in `ls ${SRCDIR}/*.tex`; do
grep -o -e '([0-9a-zA-Z|/|.|-]\{2,\})' ${file}
done | sed "s/^(\(.*\))$/\1/" | sort -f -d | uniq