« 2008年05月 | メイン | 2008年07月 »

2008年06月28日

テキストの周りに枠を生成するスクリプト(Perl)

テキストファイルを指定すると、そのテキストの周りにテキストで
枠をつけるPerlスクリプトを作成してみました。
(但し、等幅フォントでないと表示がずれます)

最近では需要はあまりないかと思いますが、
メールなど、テキストベースの物を作る際に役に立つと思います。

・使い方
1.「設定」部分を書き換える
 ・読み込むディレクトリ、ファイル名
 ・結果出力ディレクトリ、ファイル名
2.変換ファイル作成
 ・読み込むディレクトリ、ファイル名
  で指定したファイルに変換したい文字列を書き込む
3.変換スクリプトを実行する
4.結果出力ディレクトリ、ファイル名
  で指定したファイルに変換後の文字列が出力される

※「設定」の「部品」の部分を変えるといろいろな枠にすることができます。

・実行例:
D:\Data\temp>textConv.pl
書き出したファイル:D:\Data\temp\test_conv.txt



◆サンプル

textConv_ato.pngtextConv_mae.png
↑変換前テキスト         ⇒ ↑変換後テキスト


スクリプトは続きより見てください。






2008年06月15日

実用ミニシェルスクリプト(ファイル一括削除)

ディレクトリ内に圧縮ファイルがあれば、その圧縮前のファイルらしきものを
一括削除するシェルを作成してみました。
(判定は単純にファイル名だけで行っています)

◆このシェルの内容
カレントディレクトリのファイル、ディレクトリ全てを調べ、すでに「名前.tar.gz」の
ファイルがある場合は「名前」のファイル(またはディレクトリ)を削除する
※但し、「.tar.gz」が含まれるものは対象外

.tar.gzがついたファイル名のものは圧縮ファイルという前提で作っています。
(.tgzなどの圧縮ファイルには対応していません)

◆ご注意
このスクリプトでは「rm -rf」で削除を行っていますので、
実行する場合は十分注意した上で、自己責任でご使用ください。


※内容は続きから見てください。




◆参考サイト
UNIX & Linux コマンド・シェルスクリプト リファレンス
http://www.geocities.jp/geo_sunisland/

2008年06月06日

Linuxでタブ補完ができないときの対処法

Linuxでタブ補完ができない、履歴が矢印キーで表示できない、
Tabキー、矢印キーやESCキーを押すと文字化けしたようなものが表示される・・・。
そんな困ったことがおきたので調べてみました。

◆対策
シェルオプションが足りないらしいので、対象のものををonとする。
(例えば、以下のようにemacsをonにする)

1.set -oを実行

$ set -o
allexport off
braceexpand on
emacs off
(以下略)

となっていたら、

2.set -o emacsを実行

3.set -oで確認

$ set -o
allexport off
braceexpand on
emacs on
(以下略)

⇒これでOKです。

続きにはオプションのメモ、参考リンクがあります。

◆メモ
・シェルオプション表示:set -o
・emacsをonにする:set -o emacs
・emacsをoffにする:set +o emacs

※よくわからないですが、emacsがoffでも
 vi がonになっていればtab補完できるみたいです。


◆参考にした記事 (助かりました)
Tab補完と履歴について - Linux Square
 
 
2008/7/21追記:
以下のサイトにさらに詳しく載っていました。
set -o emacsでもタブ補完できないマシンがあったのですが、
もしかしてkshでなくてshだったのかも・・・。
 
Bashが入っていなくてTAB補完(ファイル名補完)が出来ない時の回避策
http://d.hatena.ne.jp/GARAPON/20070925/1190707920

2008年06月05日

実用ミニシェルスクリプト(ディレクトリ内のファイルを一括圧縮)

前回の記事のスクリプトを元に、ディレクトリ内のファイルを一括圧縮 する物を作成してみました。

◆このシェルの内容
・カレントディレクトリ内のファイルを一括圧縮
 (tarコマンドで固める)
※但し、「.tar.gz」がファイル名に含まれるものは対象外
 また、すでに「ファイル名.tar.gz」のファイルがある場合は圧縮しない

.tar.gzがついたファイル名のものは圧縮ファイルという前提で作っています。
(.tgzとかの圧縮ファイルがある場合は圧縮してしまいますので、 スクリプト改造で対応するとよいと思います)


※内容は続きから見てください。



◆参考サイト
UNIX & Linux コマンド・シェルスクリプト リファレンス
http://www.geocities.jp/geo_sunisland/