それ多分Perlでできるよ
どもです、こっそりWin32Trackに参加したら速攻でcharsbarさんに「次お前な」といわれてしまいました、turuginaです。一応kansai.pm所属らしいです。
さて、今回はperl/binディレクトリの中から 「*nix環境には普通にあるけど、Windows環境にはない」というコマンドの代替スクリプトのようなものをいくつか紹介してみたいと思います。
ptar
Archive::Tar付属スクリプト。 tarコマンドっぽいスクリプト。
tarコマンドと違って オプション指定にハイフンが必須だったり圧縮オプションはz(zlib圧縮)しか対応してなかったり(伸長はbzip2でも大丈夫)と微妙に使いづらい気も...
とりあえず、perlのソースコード tarball はこのptarで問題なく展開できるはずです。
おまけで(?) tarファイルの中身とディレクトリとのdiffを取る ptardiff や tarファイル内をgrepするための ptargrep なんてのもいます。
find2perl
File::Find付属スクリプト(で、いいんだっけ)。 findコマンド互換の引数を取り、実行可能なperl scriptを吐き出します。
例えばカレントディレクトリ及び下位ディレクトリ内にある一週間以上前に修正された*.txtファイルを探すなんて場合は
C:\>find2perl . -mtime +7 -a -name "*.txt" | perl
のようにします。
lwp-***
libwww-perl (LWP)付属スクリプト群。 wgetやcurlの代わりに割と使える。
指定したURLからファイルをダウンロードする lwp-download, ファイルの修正日付を考慮してミラーリングを行う lwp-mirror, 再帰的にWebページを取得する lwp-rget などがあります。
psed
sed互換スクリプト。 これは一体誰得なんでしょうか...
pwhich
File::Which付属スクリプト。実行ファイルのパスを調べてくれる便利屋さん
C:\>pwhich explorer C:\WINDOWS\explorer.EXE
ちなみにどーでもいいことですが、私はこいつの存在に気がつかずに独自にwhichスクリプトを書いていました。
md5sum-perl, shasum
md5sum-perl は単独のdistribution, shasumはDigest::SHA::PurePerl付属スクリプト。
それぞれ、 md5sum や sha1sum 等の 互換 ... だと思います。
はてブコメントでgfxさんに「piconv様を忘れるとは何事だゴルァ」とお叱りをいただきました。素で忘れてたんです。ゴメンナサイ
というわけで追記 @2010-12-10 21:50
piconv
あのdankogaiさんがmaintainerを努めるEncodeの付属スクリプト。文字コード変換API/ツールであるiconvのperl版
使用例としてはlwp-requestと組み合わせて
C:\>lwp-request http://example.com/written-in-utf8.txt | piconv -f utf-8 -t cp932 | more
なんてのが出来ますかね。
とりあえずこんな感じで。
みなさんもお暇な時にでも dir X:\path\to\perl\bin\*.bat して何か便利そうなスクリプトがいつの間に入っていないか気にかけてあげてください。
さて、commitの履歴を辿ると.. 次ははせがわさんでしょうか。