tse 0.0.2 - Text Stream Editor in Python
先日公開した tse をちょっとアップデートした。
http://pypi.python.org/pypi/tse
$ sudo easy_install -U tse
等でインストールできる。
コマンドラインオプションの修正
0.0.1 では -a
オプションでコンディションとアクションを両方指定していたが、0.0.2 では、
tse -c CONDITION1 -a ACTION1 -a ACTION2 -c CONDITION2 ACTION3 ...
のようにコンディションとアクションを分け、一つのコンディションに対して複数のアクションを指定できるようにした。二つ以上のアクションが指定されている場合、複数行のスクリプトとして実行される。
また、-s
オプションでは、コンディションとアクションを同時に指定できる。
tse -s CONDITION1 ACTION1 ACTION2 -s CONDITION2 ACTION3
.tsercファイル
ホームディレクトリに .tserc
という名前のファイルを置いておくと、コマンド実行時にこのファイルの内容を実行してからファイル処理を開始するようになった。
~/.tserc
ファイルには好きなPythonスクリプトを書いておく。たとえば、
# -*- coding:utf-8 -*- import unicodedata def normalize_str(s): """全角英数->半角等の正規化を行う""" return unicodedata.normalize("NFKC", s) import re def find_numbers(s): """文字列中の数字を全て抽出する""" return [int(n) for n in re.findall(r"\d+", s)]
のようによく使う関数などを定義しておけば、tse
コマンドから
# 標準入力を読み込み、文字列を正規化して出力する tse -s ".*" "print normalize_str(L)"
のように使えるようになる。