tarファイルを解凍せずに中身をみる@Linux

tarファイルの中身を見るのに、小さなファイルなら解凍して中身を展開すればよいですが、数GBもあるようなファイルだと、解凍も一苦労です。

そういう人のために、tarの中の任意のファイルだけを抽出したり、表示したりすることができます。

まず、含まれているファイルの一覧を表示するには”t”オプションを使います。tar.gz またはtgzのようにgzipで圧縮されているファイルの場合は”z”もつけます。

# tar ztf hoge.tar.gz
exe/
exe/foo.exe
txt/
txt/hoge.txt

“v”もつけると、ls -l のようにファイルのサイズや更新日時なども出力されます。

中身をとりだすには”x”を使います。じつはファイルを指定する以外は普通のファイルの展開と同じです。exe/foo.exe を取り出してみます。

# tar zxvf hoge.tar.gz exe/foo.exe
exe/foo.exe

テキストファイルなどの場合は取り出さずに、中身を見ることもできます。”x”と”O (オー)”を使います。

# tar zxOf hoge.tar.gz txt/hoge.txt
hogehoge
hogehoge
hogehoge

gzipやbzip2などで圧縮されている場合は使えませんが、単なるtarファイルの場合はファイルを追加したり削除したりできます。

# tar rf hoge.tar abcd.txt
# tar tf hoge.tar
exe/
exe/foo.exe
txt/
txt/hoge.txt
abcd.txt

ローカルファイルの読み取り@Javascript with Rhino

Rhinoを使ったJavascriptスクリプトでファイルを読み込むにはreadFileを使います。

var str = readFile("file.txt");
print(str);

コマンドの実行@Javascript with Rino

RhinoエンジンでのJavascriptのコマンド実行方法。

適当な配列(option)を定義し、それをrunCommandの最後の引数に渡す。option.input, option.output, option.errがそれぞれコマンドに渡す標準入力、標準出力, 標準エラー出力になります。

var option = {};
option.input = "hogehogenfooo";
option.output = "";
option.err="";

var ret = runCommand("grep","hoge",option);

print("-");
print("output = n"+ option.output);
print("error = n"+ option.err);
print("-");

JavascriptエンジンRhinoを入れてみる@WindowsXP

Ajaxの実装や、OpenOfficeなどのマクロ用、ThunderbirdやFirefoxの制御用、ほとんどの環境に入っているWebブラウザさえあれば大体動くJavascriptを覚えるといろいろと便利だなぁと思っていて、言語の勉強をブラウザを使ってやるのは面倒だからシェルスクリプトのように動かす方法がないか探ってみてたら、Rhinoというものを見つけました。JVM上で動くJavascriptエンジンらしいです。

インストールは簡単で、Java 環境があればRhinoのサイトからダウンロードしたjs.jarにクラスパスを通して実行すればOK。簡単すぎて拍子抜けしました。

 http://builder.japan.zdnet.com/sp/scripting-on-java-kickstart/story/0,3800084107,20366909,00.htm

それにしても、いろいろと調べてみると、最近はJavascriptがホットですね。上記のようなエンジンを始め、mod_jsやHelmaといったサーバサイドでJavascriptを動かす方法、デスクトップアプリケーションまで作れるとは・・・

http://dara-j.asablo.jp/blog/2007/07/11/1643466