2009年2月14日

awkでひとつのファイルから沢山のファイルを切り出す

開発ネタ。

csvファイルなどあらかじめ定型化されているファイルから、1行ごとに個別ファイルへ分割したい場合、awkを知っているとサクっとできてしまう。

大元のcsvファイルの各行1フィールド目に、分割後のファイル名が記載されているものとして、、


# コマンド
awk -F\, -f split.awk org.csv

# split.awk
{
filename=$1
print > filename
close(filename)
}

# org.csv --- 1フィールド目が切出し後のファイル名
0.csv,"^@",200,1.00,1000.00,"0, 200 1 1000;"
1.csv,"^@",400,512.00,10.00,"1, 400 512 10;"
2.csv,"^A",1600,2.00,10.00,"2, 1600 2 10;"
・・・



あとは書き出したファイルを対象に、sedなどの文字列置換で1フィールド目を取り除いてやればOK。

参考: sed&awkプログラミング

2009年2月2日

dashboardの無効化&有効化

開発ネタ。

PCでパフォーマンスをするときに、ダッシュボードを無効にする。
ネット上にツールやソフトはあるだろうけど、もっとシンプルにすると、
こんな感じ

#!/bin/sh
# StopDashboard.command
# ダッシュボードを無効にする
defaults write com.apple.dashboard mcx-disabled -boolean YES
killall Dock


#!/bin/sh
# Start.command
# ダッシュボードを有効化
defaults write com.apple.dashboard mcx-disabled -boolean NO
killall Dock


それぞれ拡張子を .command にして
terminalから開いてやればOK。

mdlsでPDFのページ数を調べる

プログラミングネタの覚え書き。

mdlsを使うと、便利なことにPDFファイルのページ数が取れちゃったりする。
キーワードは、kMDItemNumberOfPages。

富士通のドキュメントスキャナScanSnapはデフォルトでは、
Picturesフォルダの下にファイルを作るので、どれだけページを取り込んだか、なんかもシェルで取得できちゃう。

# Picturesディレクトリ以下のPDFの総ページ数を取得する
find ~/Pictures/ -name "*.pdf" | xargs mdls | grep kMDItemNumberOfPages | awk 'BEGIN{x=0}{x+=$3}END{print x}'
621

scansnap使ってみた


富士通のドキュメントスキャナ、scansnapを使ってみた。



たまった雑誌を処分したいのと、通勤の合間にPDFで購読ができるかな、
と思い、ネットで調べて出会ったのがこのスキャナ。

購入したのはScanSnap for Mac S510M で、
Adobe Acrobat Professional 8 が同梱されてる


とにかくすばらしいのは、
抜群に手数がかからない、ということ。


通常のスキャナなら、
 ・原稿片面につき、ふた開ける→原稿セット→ふた閉じる→ボタン押下→ふた開ける→次の原稿セット→・・・
 ・原稿片面で1データファイル

のところがScanSnapでは
 ・原稿セット(複数枚)→ボタン押下
 ・ボタン1回分で1ファイル


で、説明書読むのもそこそこに試してみたところ、
3時間で100ファイル、120MB、620ページ分取り込みできてしまいました。

3時間というのは、雑誌を裁断する手間も入ってるから、ちまちまやってもこれくらい、という数字。

なかなか優秀です。


他にいいな、と思ったのは・・・
 ・読み取り解像度が4段階選べる
   スピードと画質はトレードオフですが、一番スピードが速い場合でも字が認識できるよう、メニューがしっかりチューニングされています。

 ・紙づまりへの対処が楽
   100ファイル作るうち、4,5回紙づまりが発生したけども、対処はふたを開けるだけ。

 ・機体がコンパクト  

 ・ボタンが2つだけ
   電源ボタンもついてますが、使いません。

 ・A3サイズもスキャン可能
   ちょっと手間はかかりますが、A4の見開きもスキャンできます。ファイルも見開き状態でばっちり作ってくれる。



以上が、ファーストインプレッション。


やってることは十分ハイテクだけど、
操作性を例えるなら、写ルンです並、といえば伝わるでしょうか。


UI・デザインが秀逸なので
Macを選んで使っているひとなら、気に入ってもらえるはず。