Happy Lucky Linux Zaurus −ハピラキリナザウ−

2005/01/20 2005/01/20 18:16:28CaHDTools&QPOBoxのVer.up

Takamaty2005-01-20

[]CaHDTools&QPOBoxのVer.up

僕がリナザウを使う上で欠かすことの出来ないSoftであるCaHDToolsとQPOBox。両SoftのVer.up版を遅ればせながら導入した。


■CaHDTools Ver.0.20-1

サイト更新は基本的に全てリナザウで行なっている。EBtでテキスト作成&管理を行ない、CaHDToolsでuploadするといった流れである。とても簡単且つ合理的に更新作業が出来て、これが本サイトが継続している大きな要因となっている(笑)。今回のVer.upで遂に画像uploadが可能となった。EBtも一足早く画像メモ対応になっているので、これでまさに完璧!といった感じである。ということでテストを兼ねて画面キャプチャーなぞupしてみる(笑)。



QPOBox Ver.0.5.1

PDAを購入する際、POBoxが使えること(対応版があること)は僕にとっての必須条件である(P/PC時代から愛用させて頂いている)。今回のVer.upでは変換候補を数字で選択できるようになった。従来候補選択の際Spaceか→キーの連打が時に煩わしく感じることがあったので、嬉しいVer.upだ。但し、単に最新Ver.をインストールしただけでは数字選択は有効にならない。以下設定ファイルの編集が必要となる。


◆/home/zaurus/Settings/qpobox.confの編集

まずはqpobox.confを以下のように編集し、機能を有効化する。

[global]
UseKeyHelper = 1                                 #KeyHelperと併用する場合のみ1
ShowContext = 1                                  #前回確定文字列の表示有効化(default=1)
NumSelect = 1                                    #変換候補の数字選択有効化
MaxDispCand = 10                                 #変換候補の最大表示数(NumSelect = 1 の場合のみ有効)
KeyConfigFilename = /opt/Qtopia/share/qpobox.key #キーカスタマイズファイルのpath

*キーカスタマイズファイルのpathはdefaultのままだと再インストール時上書きされてしまうとのこと(Backup推奨)。


◆/opt/Qtopia/share/qpobox.keyの編集

次にキーカスタマイズを行なう。これは各自お好みでということになるが、作者のHIDAKA氏が公開されている以下設定例をそのまま利用させて頂く。これで一度Spaceを押下し、最初の候補が反転状態で選択したい候補の数字キーを押下すればその候補が選択できるようになる。

[INIT]
       Shift+Space     = THRU
       Space           = NEXT
       Shift+Return    = THRU_MODE
       F21             = CLOSE
       F25             = IM_MODE
[INPUT]
       Shift+Space     = PREV
       Space           = NEXT
       Shift+Return    = FIX
       Return          = EXACT
       BackSpace       = BS
       Delete          = DELETE
       Left            = SHRINK
       Right           = EXPAND
       F21             = CLOSE
       Escape          = CANCEL
       0x2015          = REGWORD
       F25             = IM_MODE
[SELECT]
       Shift+Space     = PREV
       Space           = NEXT
       Return          = FIX
       BackSpace       = BS
       Delete          = NOP
       Left            = PREV
       Right           = NEXT
       Up              = PREV_LINE
       Down            = NEXT_LINE
       F21             = CLOSE
       Escape          = CANCEL
       0x2014          = DELWORD
       F25             = IM_MODE
       1               = SELECT_1
       2               = SELECT_2
       3               = SELECT_3
       4               = SELECT_4
       5               = SELECT_5
       6               = SELECT_6
       7               = SELECT_7
       8               = SELECT_8
       9               = SELECT_9
       0               = SELECT_10


上記設定ファイルの編集が終了したら一度QPOBoxのパネルを閉じ、再度開くことで設定が反映される。



[]テキスト系Command詳細


■cat[テキストファイルの閲覧/ファイル連結]

◆説明:テキストファイルの閲覧/ファイル連結

◆構文:cat [オプション] [ファイル名]

オプション

・-b:空白以外に行番号を付加

・-n:全てに行番号を付加

・-s:連続した空白を1行の空白にする

◆例文

a.datとb.datを結合しab.datに出力

$cat a.dat b.dat>ab.dat


■comm[ソート済みファイルのマッチング]

◆説明:2つの入力ファイルを比較し、3列からなる表を出力

・1列目=1つ目のファイルにのみ存在する行

・2列目=2つ目のファイルにのみ存在する行

・3列目=両方のファイルに存在する行

ファイルを指定しない/ファイルに" - "を指定した場合は標準入力から読込む。

◆構文:comm [オプション] [ファイル名1] [ファイル名2]

オプション

・-1:1列目の表示をしない

・-2:2列目の表示をしない

・-3:3列目の表示をしない

◆例文

a.txtとb.txtを比較

$comm a.txt b.txt


■cut[フィールド/カラムを取り出して表示]

◆説明:指定した行のフィールド(カラム)だけを表示

◆構文:cut [オプション] [ファイル名]

オプション

・-c [位置]:取り出すカラムの位置を指定(複数指定可/範囲指定可)

・-f [位置]:取り出すフィールドの位置を指定(複数指定可/範囲指定可)

・-d [区切り文字]:フィールドの区切り文字を指定

・-s:区切り文字がある行だけを出力

◆例文

week.txtの最初の3文字を出力

$cut -c1-3 week.txt


■diff[テキストファイルの比較]

◆説明:2つのテキストファイルの内容を比較し結果を出力

ファイルに" - "を指定すると標準入力から読み込む。

◆構文:diff [オプション] [ファイル名1] [ファイル名2]

オプション

・-a:テキストファイルとして1行ずつ比較

・-b:空白数の違いを無視

・-i:大文字/小文字の違いを無視

・-q:ファイルが違うかどうかのみ表示

・-r:ディレクトリの比較の場合サブディレクトリ再帰的に比較

◆例文

a.txtとb.txtが同じかどうかチェック

$diff -q hoge.txt hogehoge.txt


■echo[文字列の表示]

◆説明:指定した文字列を標準出力へ出力

◆構文:echo [オプション] [文字列 ・・・]

オプション

・-e:文字列中のエスケープ文字を有効

・-n:最後の引数の後の改行しない

◆例文

"Error"と表示

$echo Error


■expand[テキスト内のタブをスペースに変換]

◆説明:テキスト内のタブをスペースに変換

◆構文:expand [オプション] [ファイル名]

オプション

・-i:行頭のタブのみ変換

・-t [スペース数]:タブ幅(スペース数)を指定(デフォルトは8)

◆例文

a.txtのタブをスペース数1で変換

$expand -t 1 a.txt


■fmt[テキストフォーマットの変更]

◆説明:テキストファイルフォーマットを変更

ファイルが指定されていない場合標準入力から読み込む(デフォルトの行幅=75桁)。

◆構文:fmt [オプション] [ファイル名]

オプション

・-p [文字列]:文字列で始まる行のみテキストを整形

・-s:行の分割のみ行い結合しない

・-w [桁数]:テキストの行幅を桁数に(デフォルト=75桁)

◆例文

hogehoge.txtを桁数100で表示

$fmt -w 100 hogehoge.txt


grep[ファイルから指定した文字列を検索]

◆説明:ファイル中から一致した行を表示

◆構文:grep [オプション] [正規表現] [ファイル名]

オプション

・-c:一致した行の数だけ表示

・-i:比較の際大文字と小文字を区別しない

・-n:一致した行の前に行番号を付加

・-v:パターンに一致しなかった行だけを表示

◆例文

1.car.txtからnsxを検索

$grep -i 'nsx' car.txt

2.car.txtからTOYOTAで始まる全ての行を表示

$grep -i '^toyota' car.txt


■head[ファイルの最初の数行を表示]

◆説明:ファイルの最初の数行を表示

◆構文:head [オプション] [ファイル名]

オプション

・-c [バイト数]:先頭から出力するバイト数を指定

・-n [行数]:先頭から出力する行数を指定

◆例文

week.txtを先頭から2行表示

$head -n 2 week.txt
Sunday
Monday


■indent[C言語ソースファイルを見栄えよく変換]

◆説明:入力ソースコードを読みやすく変換/C言語スタイルGNU、K&R、Berkeley)を変換

ファイルを指定しない/ファイルに" - "を指定した場合は標準入力から読み込む。

◆構文:indent [オプション] [ファイル名]

オプション

・-bad:宣言部の後に空行を挿入

・-bap:手続き部(関数等)の後に空行を挿入

・-gnuC言語ソースコードをGNUスタイルに変換(default)

・-kr:C言語ソースコードをKernighan & Ritchieスタイルに変換

・-o [出力ファイル名]:結果を出力するファイルを指定

・-orig:C言語ソースコードをBerkeleyスタイルに変換

・-st:結果を標準出力に書出す

・-ts [タブ幅]:タブ幅(スペース数)を指定(default=8)

◆例文

hoge.cのソースコードをGNUスタイルに変換しhoge_gnu.cに出力

$indent hoge.c -o hoge_gnu.c


■join[2つのファイルフィールドが共通な行を結合]

◆説明:ソート済みファイルフィールドが共通の行を結合

ファイルを指定しない/ファイルに" - "を指定した場合は標準入力から読み込む(フィールドは1つのスペースで区切られて出力)。

◆構文:join [オプション] [ファイル名1] [ファイル名2]

オプション

・-1 [フィールド番号]:1つ目のファイルフィールド番号目のフィールドで結合

・-2 [フィールド番号]:2つ目のファイルフィールド番号目のフィールドで結合

・-i:大文字/小文字の違いを無視

◆例文

join1.txtとjoin2.txtを共通の2つ目のフィールドで結合

$join -1 2 -2 2 join1.txt join2.txt


■less[テキストファイルをページ単位表示]

◆説明:テキストファイルの内容をページ単位で表示

◆構文:less [ファイル名]

◆操作

・q:終了

・e:1行分進む

・k:1行分戻る

・f:1画面分進む

・b:1画面分戻る

・/[文字列]:文字列を末尾方向に検索し移動

・?[文字列]:文字列を先頭方向に検索し移動

・g:先頭に移動

・G:末尾に移動



more[テキストファイルをページ単位表示]

◆説明:テキストファイルの内容をページ単位で表示

◆構文:more [オプション] [ファイル名]

◆操作

・q:終了

・s:1行分進む

・f:1画面分進む

・b:1画面分戻る

・/[文字列]:文字列を末尾方向に検索



■nkf[漢字コードを変換し標準出力に出力]

◆説明:入力ファイル漢字コードを自動判定し漢字コード(JISシフトJISEUC)に変換

ファイルを指定していない場合は標準入力から読み込む。

*結果は標準出力に書き出されるが、リダイレクトによりファイルへの書き込みも可能。

◆構文:nkf [オプション] [ファイル名]

オプション

・-e:EUCコードで出力

・-j:JISコードで出力

・-Lm:改行コードを" CR " (MAC)で出力

・-Lu:改行コードを" LF " (UNIX)で出力

・-Lw:改行コードを " CR/LF " (Windows)で出力

・-s:シフトJISコードで出力

◆例文

hoge.txtのテキスト漢字コード=シフトJIS/改行コード=CR/LFでhoge_henkan.txtに出力

$nkf -s -Lw hoge.txt > hoge_henkan.txt


■nl[ファイルに行番号を付加]

◆説明:ファイルに行番号を付けて出力

*ページは3セクション(ヘッダ/ボディ/フッタ)で構成、各々別形式の番号付けが可能。

デフォルトではボディ部は空行でない行は番号付けされ、ヘッダ部/フッタ部は番号付けしない。

ファイルを指定しない/ファイルに" - "を指定した場合は標準入力から読み込む。

◆構文:nl [オプション] [ファイル名]

オプション

・-ba:ボディ部の全行に番号を付加

・-bn:ボディ部に番号を付加しない

・-bt:ボディ部の空行には番号を付加しない

・-bp [文字列]:ボディ部の文字列と一致した行のみ番号を付加

・-fa:フッタ部の全行に番号を付加

・-fn:フッタ部に番号を付加しない

・-ft:フッタ部の空行には番号を付加しない

・-fp [文字列]:フッタ部の文字列と一致した行のみ番号を付加

・-ha:ヘッダ部の全行に番号を付加

・-hn:ヘッダ部に番号を付加しない

・-ht:ヘッダ部の空行には番号を付加しない

・-hp [文字列]:ヘッダ部の文字列と一致した行のみ番号を付加

・-i [増分]:行番号の増分を指定(default=1)

・-nln:行番号のフォーマットを左詰め

・-nrn:行番号のフォーマットを右詰め

・-nrz:行番号のフォーマットを右詰め/0埋め

・-s [文字列]:行番号とテキストの間に文字列を挟む(default=TAB)

・-v [番号]:行番号の開始番号を指定(default=1)

◆例文

1.a.txtに行番号を付加(行番号=右詰め/0埋めで、間に" : "文字を挟む)

$nl -ba -nrz -s : a.txt

2.a.txtに行番号を付加(debianという文字列にのみ)

$nl -bpdebian a.txt


■paste[指定されたファイルの行を結合]

◆説明:指定されたファイルを行単位で結合

ファイルを指定しない/ファイルに" - "を指定した場合標準入力から読み込む。

デフォルトでは行はタブ文字で区切られて出力。

◆構文:paste [オプション] [ファイル名]

オプション

・-d [区切り文字]:行を区切り文字で区切る/複数指定した場合順番に使用され繰り返し

◆例文

a.txtとb.txtとc.txtを行単位で結合(区切り文字は" : "および" ? ")

$paste -d :? a.txt b.txt c.txt


pr[テキストファイルを印刷用に整形]

◆説明:テキストファイルを印刷用に整形し出力

デフォルトでは

・空行2行/日付/ファイル名/ページ番号からなる行/空行2行の5行からなるヘッダ

・空行5行からなるフッタ

・ページの行数は66行

ファイルを指定しない/ファイルに" - "を指定した場合標準入力から読み込む。

◆構文:pr [オプション] [ファイル名]

オプション

・+[開始ページ] : [終了ページ]:開始ページから終了ページまでを出力(終了ページを省略した場合最後まで出力)

・-d:行と行の間に空行を挿入

・-e [タブ幅]:タブ幅(スペース数)を指定

・-f:ヘッダの最初の空行2行およびフッタの5行を省略

・-h [名前]:ヘッダのファイル名を名前で置換(-h "" で名前を空に)

・-l [ページの行数]:ページの行数を指定(default=66行)

・-n:ファイルの最初の行から行番号を付加

・-o [インデント幅]:各行頭をスペースでインデント(default=0)

・-t:ヘッダ/フッタの付加、改ページを行わない(入力ファイルのフォームフィールドは残る)

・-T:ヘッダ/フッタの付加、改ページを行わない(入力ファイルのフォームフィールドも無効)

・-W [ページ幅]:ページ幅を指定。はみ出した場合は切り捨て(default=72桁)

◆例文

a.txtを印刷用に整形(ヘッダ名を" Linux "にする)

$pr -h Linux a.txt


■qkc[文字コードを変換しファイルそのものを上書き]

◆説明:入力ファイル漢字コードを自動判定し、漢字コード(JISシフトJISEUC)に変換(結果は変換対象のファイルそのものを上書き)

◆構文:qkc [オプション] [ファイル名]

オプション

・-e:EUCコードで出力

・-j:JISコードで出力

・-m:改行コードを " CR/LF " (Windows)で出力

・-ma:改行コードを" CR " (MAC)で出力

・-O:nkfのように標準出力に書き出し

・-s:シフトJISコードで出力

・-u:改行コードを" LF " (UNIX)で出力

◆例文

hoge.txtのテキスト漢字コードをシフトJIS/改行コードをCR/LFに上書き

$qkc -sm hoge.txt


■sed[高度なテキスト処理]

◆説明:文字列の置換/削除/挿入

◆構文:sed [オプション] [コマンド] [ファイル名]

オプション

・-e:次にくるのがコマンドとする

・-f:次にくるのがスクリプトとする

コマンド

・d:行を削除

・-s///:それぞれの行で最初に一致した文字列だけ置換(s/パターン/置換文字列/)

・-s///g:全体を置換(s/パターン/置換文字列/g)

・-s///[数値]:各々の行で指定した数値番目の文字列だけ置換(s/パターン/置換文字列/数値)

◆例文

1.sample.txtの1から4行目を削除

$sed '1,4d' week.txt

2.sample.datファイル中の見本という文字をsampleに置換

$sed 's/見本/sample/g' sample.dat

3.days.txtの行頭に「僕は」を挿入

$sed 's/^/僕は/g' days.txt


■sort[行の並べ替え]

◆説明:テキストファイルを行単位で並べ替え

◆構文:sort [オプション] [キーの位置指定] [ファイル名]

オプション

・-b:行頭が空白の場合無視

・-f:大文字/小文字を区別しない

・-n:数値として並べ替え

・-r:降順に並べ替え(指定しない場合は昇順)

・-t [文字]:指定文字を区切り文字とする(default=空白)

・-u:同一キーであるフィールドが複数存在する場合1行だけ出力

・-k [数値1](,数値2):数値1番目のフィールドから数値2番目のフィールドをキーとする(先頭フィールドは1)

・+[数値]:数値+1番目のフィールドの最初の文字からキーとする

・-[数値]:数値-1番目のフィールドの最後の文字までをキーとする(指定しない場合は行末まで)

◆例文

1.sample.txtを点数の高い順に並べ替え

$sort -n -r -k 2,2 sample.txt

2.sample.txtを名前順に並べ替え

$sort -k 1,1 sample.txt


■split[ファイルの分割]

◆説明:ファイルを指定サイズに分割し各ファイルに出力

ファイルを指定しない/ファイルに" - "を指定した場合は標準入力から読み込み。

デフォルトではファイルは1000行ごとに分割。

*分割されたファイルを結合するにはcatコマンドを使用。

◆構文:split [オプション] [ファイル名] [ファイル名]

オプション

・-[行数]:分割する行数を指定(default=1000行)

・-b [バイト数]:分割するバイト数を指定(" k ":キロバイト/" m ":メガバイトを使用可。例.100ketc.)

◆例文

1.sample.txtを10行ごとにout_から始まるファイルに分割

$split -10 sample.txt out_

2.分割したout_から始まるファイルをketugou.txtに結合

$cat out_* > ketugou.txt


■tac[テキストファイルを逆順に表示]

◆説明:テキストファイルの内容を区切り文字を基準に逆順表示

デフォルトでは区切り文字=改行文字なので行単位で逆順表示

◆構文:tac [オプション] [ファイル名]

オプション

・-s [区切り文字]:区切り文字を指定

◆例文

z.txtを逆順に表示

$tac z.txt


■tail[ファイルの最後の数行を表示]

◆説明:ファイルの最後の数行を表示

◆構文:tail [オプション] [ファイル名]

オプション

・-行数:出力する行数を指定

・-c:行数でなくバイト数で指定(デフォルトは10行)

・-f:ファイルの最後に追加される文字をリアルタイムに表示

◆例文

week.txtの最後の1行を表示

$tail -1 week.txt

■tr[文字の変換/削除]

◆説明:標準入力から読み込んだ文字列を変換/削除(リダイレクトによりファイル中の文字列の変換/削除も可能)

◆構文:tr [オプション] [文字列1] [文字列2]

オプション

・-d:文字列1を削除

・-s:文字列1の繰り返しをその文字1文字に変換

*文字列に指定できるものは以下の通り

  • 文字の繰り返し→" aaaaa "としたい場合[a*5]と記述可能
  • 範囲指定→A-Z=全英大文字/0-9=全数字
  • 文字クラス→あらかじめ定義されたある文字の集合。" [:クラス名:] "で指定
    • alnum:英文字と数字
    • alpha:英文字
    • cntrl:制御文字
    • digit:数字
    • lower:英小文字
    • punct:句読点
    • upper:英大文字

◆例文

sample.html大文字に変換(リダイレクトを使用)

$tr [:lower:] [:upper:] < a.html


■uniq[重複行の削除]

◆説明:ソート済みファイルの重複行を削除

◆構文:uniq [オプション] [ファイル名]

オプション

・-c:同一行の数も出力

・-d:重複行のみ表示

・-u:重複のない行のみ表示

◆例文

sample.txtの重複行を1行にまとめ同一行の数も出力

$uniq -c sample.txt


■wc[テキストファイルバイト数/単語数/行数を表示]

◆説明:テキストファイルバイト数/スペースで区切られた単語数/行数を表示

デフォルトではすべて表示。

ファイルを複数指定した場合は全表示され最後に合計も表示。

ファイルを指定しない/ファイルに" - "を指定した場合は標準入力から読み込み。

◆構文:wc [オプション] [ファイル名]

オプション

・-c:バイト数のみ表示

・-l:行数のみ表示

・-w:単語数のみ表示

・-L:ファイル中の最大行長のみ表示

◆例文

sample1.txt、sample2.txtのバイト数/単語数/行数を表示

$wc sample1.txt sample2.txt