UwView シリーズ — 探す UwView・比べる UwDiff
巨大なファイルを開いて探すのは UwView、2つのファイル・フォルダを比べるのは UwDiff。どちらも Windows・macOS・Linux で動きます。→ UwDiff の操作マニュアル
操作ガイドUwView Pro
操作ガイド
UwView Pro(現行 v1.9.0「Full Spectrum」)は、巨大なテキストファイルを調べる CLI/GUI ツールです。GUI(画面)で開いて読み・絞り込み・編集し、CLI(uvp)ではスクリプトから同じ索引を使います。このガイドでは、閲覧・検索(View License)・編集(Edit Upgrade)・CLI(uvp)に分けて操作をまとめ、GUI は klogg と、CLI は ripgrep と比べながら説明します。無料版と共通の基本操作は ヘルプ と UwView 操作ガイド を、購入・価格は 製品ページ をご覧ください。各機能の詳細は v1.9.0 のリリースノート(前の版:v1.8.1.9)にもあります。
v1.9.0「Full Spectrum」で加わったこと:Shift-JIS・EUC-JP・UTF-16 を UTF-8 の索引で持つ(索引の形が新しくなり、前の版の .uwvz は作り直します。§3-2)、Word・Excel・PDF を開いて探す(§3-3)、ファイルの操作と外でファイルが変わったときの帯(§3-4)、結果の窓のブックマークの切り替えと定義済み★のひな形(§4-1・§4-2)、ファイル指定の波かっこ {a,b}(§14-1)、設定の画面の「キー」「表示」(§15)。
▶ 1分でわかる基本操作(瞬時オープン・検索・色分けハイライト・矩形保存)
▶ もっと見る:YouTube の再生リスト「UwView:日本語」(無料版 v1.7.3.6「Wide Field」の使い方 全8テーマとまとめの1本。CLI で探して GUI で読む流れは Pro でも同じです。English・チャンネル @uwviewapp)
1. 無料版との違い
UwView Pro は、無料版 UwView の CLI/GUI に 索引(.uwvz)による高速化・多段の絞り込み・集計・編集 を足したものです。開く・移動・検索・ハイライタ・ブックマーク・コピーなどの操作は無料版と同じです。
| 機能 | UwView(無料) | UwView Pro |
|---|---|---|
| CLI | uvf(1本・複数・圧縮 7 形式を探す、-open) |
uvp(索引・段・集計・並べ替え・置換・束ねる。§16) |
| GUI:開く・移動・検索・ハイライタ・ブックマーク | ○ | ○(同じ) |
| 索引(.uwvz):2回目から一瞬で開く・並列で探す | — | ○ |
| 結果の前後 ± N 行 | ±1 まで | ±64 まで |
| 多段階検索・シーケンシャル検索 | — | ○(最大8段) |
| 集計・並べ替え・順序 | — | ○ |
| 範囲(複数行のブロック)・伏せる・形で収集(v1.8.1.9 から。§8・§9) | — | ○ |
| 抽出保存のオプション(1行目をヘッダーに・前後も保存) | — | ○ |
| 矩形選択 | — | ○ |
| 編集・置換(元ファイルは変えない) | — | ○(Edit Upgrade) |
圧縮ファイルを .uwvz にして開く |
— | ○ |
| 束ねた索引(複数ファイル) を開く・GUI で束ねる(v1.8.1.9 から) | — | ○ |
| GUI の「コマンドライン」(v1.8.1.9 から) | ○(uvf の書き方) |
○(uvp の書き方すべて。§14-1) |
| 設定画面 | ○(キー・表示。v1.9.0 から) | ○(全般・キー・表示。§15) |
| Word・Excel・PDF を開いて探す(v1.9.0 から。§3-3) | ○(取り出しながら探す。索引は作らない) | ○(隣に索引 report.docx.uwvz を作る) |
| Shift-JIS・EUC-JP・UTF-16 を UTF-8 の索引で持つ(v1.9.0 から。§3-2) | — | ○ |
| 結果の一覧にブックマークを出す・定義済み★のひな形・キーの割り当て・フォント・ダークテーマ(v1.9.0 から) | ○ | ○(同じ。結果の一覧の切り替えは段のタブごとにも) |
ファイルの操作(パスのコピー・フォルダー・ターミナル・アプリで開く)・ファイル指定の波かっこ {a,b}(v1.9.0 から) |
○ | ○(同じ) |
| 外でファイルが変わったときの帯(v1.9.0 から。§3-4) | ○(末尾追従がオンなら自分で読み直す) | ○(帯で知らせる。[読み直す]で読み直す) |
| 末尾追従(Tail) | ○ | ありません(§17) |
- 窓の題名は
UwView Pro(uvp)-Full Spectrum(v1.9.0)の形で、呼び名(Full Spectrum)と版数が出ます。「UwView Pro について」とuvp --versionには正式名と版数だけが出ます。 - ボタンはアイコンです。名前はマウスを乗せると出ます。はい/いいえ・開く/閉じる・保存・中止・CSV保存などは文字のままです。このガイドで( )に書いたのはアイコンの形です。
2. ライセンスと試用
購入・試用すると Polar からライセンスキーが届きます。種類は3つです。
| キー | 種類 | 有効になる機能 |
|---|---|---|
UVP-… |
View License | 閲覧・検索・索引の全 Pro 機能 |
UVPE-… |
Edit Upgrade | View に非破壊編集を追加(View キーと併用) |
UVPT-… |
14日試用 | View+Edit の全機能(発行から14日で失効) |
- [設定]→[ライセンス] にキーを貼り付けて「アクティベート」(鍵)を押します。複数のキーを入れると、できることが足されます。編集込みで使うには
UVP-…とUVPE-…の2つ(または試用キー1つ)を登録します。 - キーを入れていなくても、初回起動から14日は閲覧の Pro 機能が使えます(編集は使えません)。
- 7日ごとにオンラインで確かめます。ネットにつながらなくても14日は使えます。
- ステータスバーには、必要なときだけ案内のボタンが出ます。
ライセンスが無いと使えなくなるもの:新しい索引の作成(圧縮ファイルの変換を含む)・並列検索(1スレッドになります)・矩形選択・多段階/シーケンシャル/並べ替え/順序・集計・編集。
作ってある .uwvz を開いて読むことは、いつでもできます。
状態は「ライセンス有効(閲覧+編集)」「ライセンス有効(閲覧)」「14日試用(残り n 日・閲覧+編集)」「試用中(14日間・閲覧機能)」「試用期間が終了しました(制限モード)」などと表示されます。
2-1. CLI(uvp)の PATH 設定
ターミナルから uvp を名前だけで打てるようにするには、アプリのメニュー [ヘルプ]→[コマンドライン設定…](英語 UI では Command line setup…)を選びます。同じ画面から解除もできます。
| OS | 登録先 |
|---|---|
| macOS | /usr/local/bin/uvp(書けない場合は標準のパスワード画面が出ます) |
| Windows | ユーザーの環境変数 PATH にアプリのフォルダを追加(管理者権限は不要) |
| Linux | /usr/local/bin(権限が無ければ ~/.local/bin。ログインし直すと有効) |
uvp --version # uvp 1.9.0
uvp --help # 全コマンド(日英)
uvp は GUI で登録したライセンスをそのまま使います(-replace は Edit Upgrade が必要。-extract・--info・--files はライセンス不要)。使い方は §16 と uvp コマンド操作マニュアル にあります。
3. 開く・見る・索引(.uwvz)
- 開いた瞬間から全域を閲覧できます。 索引はバックグラウンドで作られ、完成すると行番号が付きます(構築中はページモード=
50%のような割合ジャンプ)。進み具合は窓・タブの %・ステータスに出ます。「中止」してもそのまま読めます。 - 64MB 以上のファイルを開くと、裏で索引を作ります。 索引は元ファイルの隣に
元の名前.uwvzで置きます(大きさは元のおよそ 1/9。ブロックごとに checksum で保護)。 - 複数ファイルはタブで切替。ドラッグ&ドロップ・複数選択・セッション復元(前回のファイル群を再オープン)に対応します。
- 文字コードは自動判定(UTF-8 / Shift-JIS / EUC-JP / UTF-16)。ツールバーで手動切替もできます(索引の作り直しなし)。Shift-JIS・EUC-JP・UTF-16 の索引は、中を UTF-8 で持ちます(v1.9.0 から。§3-2)。
- 長い行は横スクロールで読めます(横バー・横スワイプ・Shift+ホイール・
←/→。行番号は左固定)。
| 場面 | 動き |
|---|---|
| 1回目 | 開いてすぐ読める(ページモード)。裏で索引を作る |
| 2回目から | 索引があればすぐ行番号付きで開く |
| 元のファイルが変わっていた | 「再作成する/このまま使う」を聞く |
.uwvz だけがある |
.uwvz を直接開ける(元のファイルが無くても読める) |
- 索引を作らないのは、64MB 未満・空き容量が足りない(元の 1/6+1GB が目安)・書き込めない場所・ライセンスが無いとき。このときは無料版と同じ動きです。
- 検索は索引を使って並列で行います(スレッド数は §15 の設定。既定 8)。索引が 25% 以上できているか 5GB 以下のファイルなら、索引の完成を待ってから検索します。
- v1.9.0 で索引の形が新しくなりました。前の版で作った
.uwvzは読まず、初めて開く・探すときに作り直します(§3-2)。
アーカイブとして置いておく:元ファイルを削除しても、.uwvz だけでそのまま開けます(ピッカー/D&D で .uwvz を直接指定)。保管棚の巨大ログを 1/9 で持ち続け、必要なときだけ瞬時に開く、という運用ができます。元の形に戻すのは uvp … -extract(ライセンス不要・§12)です。
3-1. GUI — klogg との比較
klogg も UwView Pro も、1回目は索引を作るためにファイル全体を読みます。違いは、その索引を残すかどうかです(同じ機械・同じファイル・語は「東京」。条件は数字の条件)。
| klogg と UwView Pro | 3GB | 10GB | 50GB |
|---|---|---|---|
| 開く・1回目 klogg | 3.65秒 | 10.98秒 | 52.55秒 |
開く・1回目 UwView Pro(.uwvz を作る。1回目の検索もこの中で済む) |
3.43秒 | 11.79秒 | 58.42秒 |
| 同等 | 同等 | 同等 | |
| 開く・2回目以降 klogg | 1回目と同じ | 1回目と同じ | 52.55秒(毎回同じ) |
| 開く・2回目以降 UwView Pro | — | — | 0.01〜0.07秒 |
| 検索(開いたあと・2回目以降) klogg | 0.56秒 | 11.75秒 | 55.59秒 |
検索 UwView Pro(.uwvz あり) |
0.29秒 | 0.95秒 | 6.47秒 |
| 1.9倍 | 12.4倍 | 8.6倍 |
- 先に負けを書きます。1回目に開くときは、
.uwvzを作るぶん UwView Pro の方が少し遅いです(50GB で 58.42秒 対 52.55秒。1/1.11 なので同等の範囲。10GB も 1/1.07 で同等)。 - klogg は索引ができるまで末尾までスクロールできません。UwView は開いた瞬間から末尾まで動けます(索引ができるまではページモード)。
- klogg は開くたびに索引を作り直しますが、UwView Pro は保存した索引で 0.01〜0.07秒で開きます。検索も索引を並列に引くので、3GB で 1.9倍、10GB 以上で 8.6〜12.4倍です。
- 無料版の GUI と klogg の比較(開く・検索とも同等)は 概要 に、全データは ベンチマーク一覧 にあります。
3-2. 文字コードと索引の形 — v1.9.0 から
- Shift-JIS・EUC-JP・UTF-16 のファイルは、索引(
.uwvz)の中では UTF-8 に変えて持ちます(束ねた索引・gz・zip の中のファイルも、1 本ごとに変えます)。検索のたびに文字コードを変えなくて済むので、2 回目からは UTF-8 のファイルと同じ速さで探せます。 - 表示・保存・コピー・CLI の出力は、元の文字コードの字のまま出ます。
uvp <ファイル.uwvz> --infoに「中の文字コード: UTF-8(元の文字コード: shift_jis)」のように出ます。uvp <ファイル.uwvz> -extractは、元の文字コードのファイルに書き戻します。NEC・IBM の外字などは、戻したときに番号が変わることがあります(字は同じです)。- 編集(§11)の書き出しも元の文字コードに戻します。元の文字コードで表せない字があれば、件数を出して確かめます。
- EUC-JP の補助漢字(JIS X 0212)は読めず「・」になり、元には戻りません。
- 索引の形が新しくなりました(版 4)。前の版で作った
.uwvzは読まず、初めて探す・開くときに作り直します。 大きなファイル・多数のファイルでは、最初の 1 回に時間がかかります。 - 2 回目からの検索を速くする「追加の索引」(行の骨格と、当たらないブロックを読まずに飛ばすための印。
.uwvzの末尾に持ちます)を、.uwvzを作るときに一緒に作ります。新しく作る.uwvzは 1MB のブロックです。CLI では--no-extra(作らない)・uvp <ファイル> --build-extra(今作る)・uvp <ファイル> --extra-status(状態を見る)が使えます。
3-3. Word・Excel・PDF — v1.9.0 から
.docx(.docm)・.xlsx(.xlsm)・.pdf を開くと、「文字を取り出して開きます」と進み具合を出し、文字を取り出して、隣に索引(report.docx.uwvz)を作って開きます。2 回目からはすぐ開き、元が変われば作り直します。検索・多段階・集計・範囲・形もそのまま使えます。
| 形式 | 1 行の中身 |
|---|---|
| Word | 段落を 1 行ずつ。表は 1 行を、セルをタブでつないで 1 行。本文のあとに [脚注] …・[コメント] … |
| Excel | シート名!行番号<TAB>A<TAB>B…(表示されている値。CLI で --raw を付けると元の値) |
## page N のあとに、そのページの文字を読む順に(2 段組は左の段から) |
- 新しく取り出すにはライセンスが要ります。ライセンスが無いときは、無料版と同じく一時フォルダーに取り出して開きます(取り出し済みの索引はいつでも開けます)。
- 元の形式には書き出せません(
-outに.docxなどは指定できません)。uvp report.docx.uwvz -extractは、取り出した文字をreport.docx.txtに書きます。 - 読めないもの:古い形式(.doc・.xls)・パスワード付き・文字の無い PDF(画像だけ。OCR はしません)・壊れたもの。理由を出して断ります(CLI は終了コード 2。束ねる指定では名指しで飛ばします)。
- CLI でも同じです:
uvp report.docx 東京・uvp '経費/**/*.xlsx' 交通費 --raw・uvp 'docs/**/*.pdf' 契約 -C 3 解除。
3-4. ファイルの操作・外でファイルが変わったとき — v1.9.0 から
ファイルの操作:ステータスバーのファイル名を押す(左でも右でも)か、ファイル一覧の行を右クリックすると、小さな窓が出ます。ステータスバーにはファイル名だけが出ます。
| 部品 | 動き |
|---|---|
| フルパス | ファイルの場所。選んでコピーもできる |
| [コピー] | フルパスをクリップボードに写す |
| [フォルダー] | ファイルのあるフォルダーを Finder・エクスプローラーなどで開く(ファイルを選んだ状態で) |
| [ターミナル] | ファイルのあるフォルダーに移ったターミナルを開く(mac は「ターミナル」、Windows は Windows ターミナル〈無ければコマンドプロンプト〉) |
| [アプリ] | 拡張子に合ったアプリで開く(.pdf なら PDF のアプリ、.docx なら Word など)。取り出した索引(report.pdf.uwvz)なら、隣の元のファイル(report.pdf)を開く |
- [アプリ]が押せないもの:元のファイルが隣に無い索引(束ねた索引など)、見つからないファイル、zip の中のファイル(マウスを乗せると理由が出ます)。
外でファイルが変わったとき:開いているファイルを、ほかのプログラムが切り詰めたり、作り直したり、ローテーションしたり、消したりしても落ちません。タブごとに1秒ごとに見張って、本文の上に黄色い帯で知らせます。
| 起きたこと | 例 | 帯 |
|---|---|---|
| 切り詰め | : > app.log・truncate |
「app.log が切り詰められました」 |
| 作り直し(先頭や中身が変わった) | 別の内容で上書き | 「app.log が作り直されました」 |
| ローテーション | mv app.log app.log.1 のあと新しい app.log ができた |
「app.log は、同じ名前の別のファイルに置き換わりました(ローテーション)」 |
| 削除 | rm app.log |
「app.log が消されました」 |
- 帯の[読み直す](F5 と同じ)で今の中身を開き直し、[×]で帯を閉じます。Pro には末尾追従が無いので、自分では読み直しません(§17)。
- 読み直すまでは前の内容が見えます。消されたときは[読み直す]が出ず、同じ名前のファイルができると帯が「置き換わりました」に変わります。
- 編集中のタブと、束ねた索引のタブは、F5 と同じく読み直せません(帯だけ出ます)。
- 外で変わったあとに検索しても、名前から開き直しては探しません。読み直してから探してください。
4. 検索と結果の窓
- 文字列(literal)/正規表現。ヒットは本文でハイライトされ、ミニマップに分布表示(クリックでジャンプ)。
- 検索が終わると(完了の窓を閉じると)「多段階・シーケンシャル検索」の窓が開きます。検索バーの結果一覧のボタンからも開けます。タブごとに1つです。ダブルクリック/Enter で本文へジャンプ。
- 前後 ± N 行の文脈は ±64 まで指定できます(無料版は ±1 まで)。
- 窓の上の集計(Σ)・並べ替え・順序(番号付き一覧)・戻る(左矢印)・ファイル一覧(箇条書き)はアイコンのボタンです。
- v1.8.1.9 から、集計・並べ替え・順序などは「その他の操作」を開いたところにまとめ、「集計」「並べ替え・順序」「伏せる・形」のタブで切り替えます。
- 窓の下に、いまの窓の設定と同じ
uvpのコマンドが出ます。[コピー]でターミナルに貼れば同じ結果になります(束ねた索引のときは、打ったファイル指定のまま出ます)。 - 検索履歴のオートコンプリートと、よく使う検索の「★」保存(定義済みフィルタ)が使えます。定義済みは行の右の「×」で消せます(v1.9.0 から)。
絞り込みオプション: Regex/大小無視/単語一致(ERROR と ERROR_RETRY を区別)/含まない(±N の中にその語が無かったヒットを残す。2段目以降で使用)。
4-1. 結果の窓にブックマークを出す — v1.9.0 から
- 各段のタブの一覧の上に、切り替え [ヒット+ブックマーク](既定)[ブックマークだけ][ヒットだけ] が出ます。選んだものは覚えます。
- ヒットとブックマークは、ファイルの行の順に混ぜて並びます。ブックマークの行は、行番号の左に青い棒が付きます。両方に当たる行は1行だけ出て、両方の印が付きます。束ねた索引でも同じです(
3:128394の番号のまま混ざります)。 - 前後 ± N を付けると、ブックマークの行にも同じ前後が付きます。
- 一覧でブックマークの行を選んで Delete(または Backspace)を押すと、そのブックマークを外します。本文とミニマップの印も外れます。
- 本文で行の範囲を選んで Ctrl(Cmd)+B を押すと、まとめて付け外しできます(§10)。
- vi・less 風のキー(§15-2)では、
vで3つの切り替えを順に回せます。
4-2. 定義済み★の AND・NOT・OR のひな形 — v1.9.0 から
定義済み★の一覧の先頭に、1つの正規表現で AND・NOT・OR を書くひな形が3つ入っています(初めて起動したときに入ります。消したものは戻りません)。
| ひな形 | 入る式 | 当たる行 |
|---|---|---|
| AND(両方を含む) | ^(?=.*語1)(?=.*語2) |
語1 と 語2 の両方を含む行(順は問わない) |
| NOT(含まない) | ^(?!.*除く語).*語 |
語 を含み、除く語 を含まない行 |
| OR(どちらか) | 語1|語2 |
どちらかを含む行 |
- ひな形を選ぶと、式が検索欄に入り、正規表現がオンになります。ほかの定義済みと違い、選んだだけでは探しません。
- 最初の語(
語1・除く語)が選ばれた状態なので、そのまま打つと置き換わります。 -
残りの語も書き換えて、Enter で探します。
-
語は正規表現の中に入るので、
.([などの記号は\.のように\を付けます。 - 英語の画面では
word1・excludedなどで入ります。
5. 多段階検索(Drill-down)

検索結果を、別の語でさらに絞り込む機能です(grep -C N w1 | grep w2 | grep w3 のGUI化)。
- 通常の検索をすると Tab1 に結果が出ます。
- 絞り込みバーに次の語を入れて「絞り込む」→ 前の段のヒットの前後 ± N 行の中だけを探した 新しいタブ が増えます(最大8段)。
- タブには
語 (件数)が表示され、±N は段ごとに独立(途中は±1で締め、最終段だけ±10に広げる、という使い方ができます)。タブを選ぶと、その段のヒットが本文の黄色・ミニマップ・◀▶ に反映されます。 - 途中の段から絞り直すと、それより後ろの段は消えます。
- 2段目以降は前段の範囲だけを見るので即時です(50GB の3段絞り込みが 8.1秒、2段目以降は 0.24秒/段。CLI の多段も同じです)。
行を右クリック →「履歴(絞り込みの経路)」で、どの段のどの行から来たかをたどれます。実例: 51GB・8.9億行で「東京 94,979 → 練馬 184 → 埼玉 54」。詳しくは紹介記事。
6. シーケンシャル検索(Sequence)

同じタブUIのモードを「シーケンシャル」に切り替えると、w1→w2→w3 がこの順で現れる流れだけを検出します(ログの「ログイン→タイムアウト→再起動」のような順序の調査に)。
- 途中でより前の語が再登場したら、そこから数え直します(残るのは割り込みのない素直な流れだけ)。
- 結果の右クリック [履歴(絞り込みの経路)] で、その流れを構成した各語の行位置が一覧され、どの行へもジャンプできます。
- 語ごとに全文を探して並びで判定するので、各段の所要時間は全文検索と同等です(多段階のような即時性はありません)。
- 段が2つ以上あるときに多段階と切り替えると、「Tab2 以降を破棄します」と確認します。
詳しくは紹介記事。
7. 集計(Tally)
ヒットした行の中の値を数えて、多い順に並べます(sort | uniq -c | sort -rn 相当)。
- 集計の欄に正規表現を入れます。
( )の中(第1キャプチャ群)が値になります(括弧が無ければヒットした部分そのもの)。 - 「上位」の数を決めます(既定 20、1〜1000)。残りは「その他」にまとめます。
- ▶ で実行。
| 定番の式(候補に出ます) | 数えるもの |
|---|---|
(ERROR\|WARN\|INFO\|DEBUG) |
ログの重さ |
status=(\d+) |
key=value の値(HTTP のステータスなど) |
^(\S+) |
行頭の1語(アクセスログの IP など) |
^(\d{4}-\d{2}-\d{2}) |
日付(日ごとの件数) |
T(\d{2}): |
時刻の「時」(時間帯の分布) |
^[^,]*,([^,]*) |
CSV の2列目 |
k="([^"]+)" / v="([^"]+)" |
XML・OSM の属性名/値 |
- 1行の中で同じ値は1回だけ数えます。値の種類は 20 万まで。
- ランキングの行をクリックすると、その値の行だけの段へ降りられます(集計→絞り込みの往復)。
- 「CSV保存」で
tally.csv(No, 値, count, %)に書き出します。「戻る」(左矢印)でランキングを閉じます。
詳しくは紹介記事。
8. 並べ替え・順序
| 機能 | 使い方 |
|---|---|
| 並べ替え | 式の第1キャプチャ群でヒットした行を並べます。数字は数として比べ、キーが無い行は後ろ。例:ts=(\S+) で時刻順 |
| 順序 | 語をカンマで2つ以上(login,timeout,restart)。この順に起きた流れを並べます。大文字小文字は区別 |
結果の行をクリックすると本文のその行へ移ります。「保存」で sorted.txt/sequences.txt(行番号<TAB>本文、流れの区切りは --)に書き出します。
8-1. 範囲(複数行のブロック)— v1.8.1.9 から
順序に開始と終了の語を入れて([ERROR] SessionStart,[INFO] SessionEnd)「範囲で見る」をオンにすると、開始の行から終了の行までを1つのブロックとして並べます(CLI の -seq … -range)。

| 部品 | 意味 |
|---|---|
| 範囲で見る | オンでブロックとして並べる。ブロックの間は線で区切る |
| 上限(行) | 閉じないまま、この行数を超えた開始は捨てる(--range-max) |
| ブロックを絞る | この語を含むブロックだけ残す。「含まない」をオンにすると含まないブロックだけ残す(-grep … -v)。[絞る]を続けて押すと AND |
行番号は元のファイルの行番号です。行をクリックすると本文のその行へ移ります。
9. 抽出して保存
結果の窓の下の段で、ヒットした行をファイルに書き出します。選んだ指定は次回も使います。
| 部品 | 意味 |
|---|---|
| 前後 ± N 行 | 前後の行も出す(最大 64) |
| 行番号を含める | 行頭に行番号(既定オン) |
| 1行目をヘッダーに | ファイルの1行目(CSV の見出しなど)を先頭に付ける |
| 前後±N行も保存 | 前後の行も一緒に書く(± N が 1 以上のとき) |
| 保存… | 書き出す |
件数の上限で止まったときは「上限を変更…」(調整のアイコン)から設定を開けます。結果の中でも矩形選択ができます。
- 保存するのは、一覧の切り替え(§4-1)で今見えている行です。「前後±N行も保存」を外しても、ブックマークの行は残ります(v1.9.0 から)。
9-1. 伏せる・形で収集 — v1.8.1.9 から
「その他の操作」→「伏せる・形」で使います。

| 部品 | 意味 |
|---|---|
| 伏せる… | 式に当たる所を置き換えます(-mask。例:IP アドレスを x.x.x.x に)。式は何個でも足せて、書いた順に当てます。表示・保存・コピーの中だけを伏せ、本文と、検索・絞り込みの判定は変えません |
| 形 | この段の正規表現の ( ) から値を取り出して組み立てます(-format。$1・${名前}・$0・${line}・${file}・\t)。この段の検索は ( ) のある正規表現にします |
| CSV | 形の , を区切りにして、値を CSV の決まりで囲みます(--csv) |
| 見出し | 1 行目に付ける見出し(--csv-header。例:名前,操作) |
| 収集して保存… | 式に合う行だけを形で組み立てて書き出します(.csv なら BOM を付けます) |
10. 色分けハイライタ・矩形選択・その他
- 色分けハイライタ: 複数パターンを常時多色着色。32色パレット・名前付きセット保存・
.uwvhl書き出し・業種別プリセット同梱。語を選んで右クリック→色スウォッチで即着色。 - ダークのとき(v1.9.0 から):プリセットの淡い色は暗い背景で読める色に替えて描きます(規則の色の値は変わりません)。暗い背景で読みにくい規則には、規則の一覧に ⚠ が付きます。
- 矩形選択(Pro): ツールバーの「矩形選択」をオンにしてからドラッグすると、四角い範囲(列)を選べます(単クリックは従来動作のまま。編集モードでは Alt+ドラッグ)。固定幅ログの“縦の列だけ”をコピー・保存でき、ドラッグ中に画面端で自動スクロールするので縦に長い矩形も作れます。
- Ctrl(Cmd)+C でコピー(約 500 万文字を超えるとファイル保存に切り替わります)。右クリックで「コピー」「ファイルに保存…」。
- Esc か別の場所のクリックで解除。全角は2文字分、タブは8文字分で数えます。
- 行モード(索引ができたあと)で使えます。
- ブックマーク: 任意行をトグル・前後ジャンプ・ミニマップに青表示。
- まとめて付ける(v1.9.0 から):本文で行の範囲を選んで Ctrl(Cmd)+B を押すと、選んだ行すべてに付けます(全部に付いていれば全部外します。一度に 10 万行まで。閲覧のときだけ)。
- 結果の窓に出す(v1.9.0 から):結果の窓の一覧にヒットと混ぜて出し、一覧の Delete で外せます(§4-1)。
- UI 日英切替・全OS同一描画(Windows / macOS / Linux)。
11. 編集する — Edit Upgrade(UVPE)

(以前の画面です)
ツールバーの編集(鉛筆のアイコン。使えないときは錠)で編集モードに入ります(索引がある必要があります)。元ファイルは一切書き換えません。 落ちたときも「前回の編集を復元しました」と戻ります。
| 操作 | 動き |
|---|---|
| クリック/ドラッグ/Shift+クリック | カーソル/範囲 |
| ダブルクリック/トリプルクリック | 語/行を選ぶ |
| Alt+ドラッグ | 矩形を選ぶ |
| 文字入力(IME も可)・Enter・Backspace・Delete | 編集 |
| Ctrl(Cmd)+C/X/V | コピー/切り取り/貼り付け |
| Ctrl(Cmd)+Z / Ctrl(Cmd)+Shift+Z(Windows は Ctrl+Y も) | 元に戻す/やり直す |
| 前の編集箇所/次の編集箇所 | 変えた所へ移る |
置換バー(編集モードのとき出ます。ボタンはすべてアイコンで、名前はマウスを乗せると出ます)
- 「置換後:」に入れて、置換して次へ/すべて置換。すべて置換は「ヒットした N 行を置換します」と確認し、1回の「元に戻す」で全体を巻き戻せます。実測: 10GB・1億行で 21,994箇所の一括置換が16.8秒(計測記事)。
- ヒット行を削除/選択を削除/選択を置換/この行を削除(画面の先頭の行)。
- 置換後はそのままの文字列です(
$1などは使えません。CLI のuvp -replaceは-Eのとき使えます)。 - 行数が変わる置換のあとは「行番号を数え直しています」と出ます(その間も作業できます)。
差分ファイル(.ewvz)と保存
- 修正はすべて
対象.ewvzに蓄積されます(1億行の置換でも数MB)。原本と.uwvzはそのまま。 - 中断・再開: 途中で閉じて、翌日続きから再開できます。前回までの編集にも Undo/Redo が効きます。
- 保存: メニュー「ファイル → 保存(.uwvz)…」(保存先を選びます)。「テキストとして書き出す…」でふつうのテキストにも書けます。編集モードを抜けるときに「保存する/保存しない」を聞きます。

12. 圧縮ファイル
「展開してから開く」の手間と、平文をディスクに置く容量を無くすのが目的です。
GUI で開く
- gz・bz2・xz・lzma・zstd・lz4・brotli の7形式を開くと、開き方を聞きます。
| 選択肢 | 動き |
|---|---|
| .uwvz に変換して開く | 名前.gz.uwvz などを作って開く(展開したテキストは作らない)。次からは展開せずに速く開く |
| テキストに展開して開く | 無料版と同じ |
- 変換済みなら「変換済みのファイルがあります」、元が変わっていれば「元の圧縮ファイルが変わっています」と聞きます。
- 実測(gz・9.49GB・1億行): 手動 gunzip → 従来オープンが 44.6秒・ディスク 10.63GB に対し、直行変換は 23.5秒・1.15GB(1.89倍速・ディスク 1/9.3)。展開後のサイズ・総行数・ブロック数は一致を確認しています。
- 途中で切れた圧縮ファイルは断り、「途中までのファイル」を全部だと思って読ませません。
.tar.gzは扱えません(展開してからuvpで1本の索引に束ねてください)。 - zip と OSM の pbf は GUI では開けません。 CLI の
uvpで索引にしてから、その.uwvzを開いてください(uvp logs.zip 語・uvp japan.osm.pbf 語。§16)。
書き出す・戻す(CLI)
uvpの-outは拡張子で形が決まります:.gz.bz2.xz.lzma.zst.lz4.brの7形式と.zip、それ以外はテキスト(uvp f '東京' -out hits.xz)。-extractで.uwvzを元の形に戻せます(uvp f.uwvz -extract [txt|gz|bz2|xz|lzma|zst|lz4|br|zip] -out f)。形式を省くと元の形に戻ります。ライセンス不要で、展開した中身は元とバイト一致です(圧縮ファイルそのもののバイト列は一致しません)。pbf から作った索引は XML のテキストで戻ります。- 編集結果(Edit Upgrade)の確定は、新しい
.uwvzまたはテキストとして書き出します(§11)。 - Shift-JIS・EUC-JP・UTF-16 から作った索引の
-extractは、元の文字コードで書き戻します。Word・Excel・PDF から作った索引の-extractは、取り出した文字をreport.docx.txtに書きます(元の形式には戻せません。v1.9.0 から。§3-2・§3-3)。
.uwvz は gzip の代わりになるか — .uwvz は圧縮形式+索引です。同じファイルを gzip -6・zip -6・.uwvz で固めた比較です(Mac(Apple M4・10コア)・外付け USB SSD。条件は数字の条件)。
| 元ファイル | gzip -6 | zip -6 | .uwvz |
探す: gzip 解凍+rg | zip 解凍+rg | .uwvz 直接検索 |
|---|---|---|---|---|---|---|
| 3.03GB | 0.30GB(16.8秒) | 0.30GB(19.4秒) | 0.25GB(1.2秒) | 6.47秒 | 8.71秒 | 0.68秒 |
| 10.26GB | 1.12GB(66.5秒) | 1.12GB(76.8秒) | 1.16GB(14.9秒) | 24.70秒 | 40.48秒 | 1.74秒 |
| 51.25GB | 5.75GB(347.2秒) | 5.76GB(394.7秒) | 5.74GB(65.0秒) | 120.67秒 | 203.06秒 | 7.21秒 |
大きさは gzip とほぼ同じ(50GB で 1/8.9)、作るのは 5倍速く、戻さずに探せるのが違いです。UwView 専用の形式なので、他の人に渡すときは -extract で戻すか gzip などにしてください。詳しくは gzip の代わりに .uwvz で置いておく。
13. 束ねた索引(複数ファイル)とファイル一覧・タブ
CLI で複数のファイルを1本の索引に束ねると(uvp '*.log' 語)、その uw-….uwvz を GUI で開けます。v1.8.1.9 からは、GUI の「コマンドライン」ダイアログ(Ctrl+Shift+K、Mac は Cmd+Shift+K)でも束ねられます。 ファイル指定の欄に '*.log' のように書いて実行すると、uvp と同じに束ねて開きます(§14-1)。フォルダーのドロップや、[開く]で 2 本以上を選んだときも、ここから束ねられます。
表示
- 行番号欄は
ファイル番号:行番号(例3:128394)。zip の中のファイルはn-m(例2-3:128394=2番目の zip の3番目のファイル)。 - 本文・結果の窓・並べ替えの一覧のどれも同じ表記です。ステータスには「3: app-0903.log の 128394 行目」と出ます。
- 束ねた全体をまとめて探せます(多段階・集計もそのまま使えます)。
ファイル一覧(検索バーのファイル一覧のボタン=箇条書きのアイコン。結果の窓にも同じボタンがあります)
| 列 | 内容 |
|---|---|
| 番号・ファイル・ヒット・大きさ | ヒットは検索したときだけ。ファイル名にマウスを乗せると絶対パス |
| 印 | メイン/タブ |
| 下 | タブ n / 8 |
- 行をダブルクリック/Enter で開きます。行を右クリックすると、ファイルの操作の窓が出ます(§3-4。v1.9.0 から)。
- 右上の 開く先([メイン][タブ][アプリ]。既定はメイン・次回も覚えます。v1.9.0 から[アプリ]が加わりました)で開き方を切り替えます。
- メイン:束ねた本文(メイン)の中で、そのファイルの先頭へ移ります。
- タブ:元のファイルを追加のタブで個別に開きます。Word・Excel・PDF は、その 1 本の文字を取り出して開きます。
- アプリ:元のファイルを、拡張子に合ったアプリで開きます(.pdf なら PDF のアプリ、.docx なら Word、.xlsx なら Excel など。どのアプリかは OS の設定で決まります)。Word・Excel・PDF をそのままの見た目で確かめられます。zip の中のファイルと、元のファイルが見つからないものは開かずに、一覧の下に知らせます。
- タブは最大 8 個(メイン+追加 7)。超えるときは開かずに知らせます(古いタブを勝手に閉じません)。既に開いていれば、そのタブに切り替えるだけです。
- 追加のタブがある間、メインのタブは閉じられません。
- 束ねた本文(メイン)のタブは灰色です。追加のタブと見分けられます。
- タブ名は
番号:ファイル名(例3:app-0903.log)。27 文字を越えると末尾を...にして縮めます。タブにマウスを重ねると、切らないファイル名(2 行目は場所)が出ます。タブは増えても1行のままで、左右にスクロールします。 - タブで開けないもの:zip の中のファイル、元のファイルが消えているもの(索引の中身は残っています)。理由を知らせて、メインのその位置へ移ります。
14. CLI(uvp -open)と GUI を組み合わせる
| 書き方 | 動き |
|---|---|
uvp app.log ERROR -C 5 timeout -open(末尾) |
CLI で実行した結果を、探し直さずに GUI に載せる(「CLI の結果を表示しています(再検索なし)」) |
uvp -open app.log ERROR -C 5 timeout(先頭) |
同じ調べ方を GUI で実行する(段がタブになる) |
uvp -open '*.log' |
束ねて(2回目からは今の索引を使って)その .uwvz を GUI で開く |
uvp -open uw-%a.log.uwvz |
前に作った束ねた索引を、名前を書いて開く |
| GUI の「コマンドライン」 | -open を付けたコマンドと同じ動き(§14-1)。-open は書かなくてよい(書いても無視) |
- 範囲(
-range)・伏せる(-mask)・形(-format)も、窓の中に再現します(v1.8.1.9 から)。 - GUI に無い段(
-sort countなど)は、飛ばしたことを知らせます。 - GUI と CLI は同じ索引を使います。一覧の行をクリックすれば次の段へ降り、集計・並べ替え・CSV保存もその場で使えます。
14-1. GUI の「コマンドライン」— uvp と同じ書き方で探す・束ねる(v1.8.1.9 から)
ツールバーの「コマンドライン」ボタン(ターミナルの形)、メニュー[ファイル]→[コマンドライン…]、Ctrl+Shift+K(Mac は Cmd+Shift+K)でダイアログを開きます。開き方・部品・基準フォルダー・履歴は無料版と同じです(UwView 操作ガイド §8)。Pro では uvp の書き方がすべて使えます。

| コマンド | ファイル指定の欄 | 検索パターンの欄 |
|---|---|---|
uvp japan.osm 'k="amenity"' -uniq 'v="([^"]+)"' -sort count -head 20 |
japan.osm |
'k="amenity"' -uniq 'v="([^"]+)"' -sort count -head 20 |
uvp '**/*.c,**/*.h' -seq '[ERROR] SessionStart,[INFO] SessionEnd' -range … |
**/*.c,**/*.h |
-seq '[ERROR] SessionStart,[INFO] SessionEnd' -range … |
uvp japan.osm.uwvz 東京 |
japan.osm.uwvz |
東京 |
uvp convert '*.log' |
*.log |
convert |
uvp '**/*.{txt,log}' ERROR |
**/*.{txt,log} |
ERROR |
ファイル指定の波かっこ {a,b}(v1.9.0 から)
ファイル指定の中に {a,b} と書くと、a と b の2通りに広げます。CLI の uvp と GUI の「コマンドライン」で同じです。
| 書き方 | 広がり方 |
|---|---|
**/*.{txt,log} |
下のフォルダー全部の .txt と .log |
app.log{,.*.gz} |
app.log と app.log.*.gz(app.log,app.log.*.gz と同じ) |
logs/2026-{09,10}/*.log |
logs/2026-09/*.log と logs/2026-10/*.log |
- 入れ子(
{a,{b,c}})も、空の選択肢({,.gz})も書けます。 - 1つの指定から広がるのは 1,000 通りまでです。超えると止めます(終了コード 2)。
- 波かっこの中のカンマ・空白では、指定を区切りません。
- 閉じていない
{、カンマの無い{}・{a}は、文字どおりの名前として扱います。 - 波かっこを含む名前のファイルが実際にあれば、広げずにそのファイルを使います。
結果の出し方
- 1本のファイル:開いて多段階・シーケンシャル検索の窓に載せます。段はタブになり、集計(
-uniq)・並べ替え・順序・範囲(-range)・伏せる(-mask)・形(-format)も窓の中に再現します。CLI の結果をそのまま渡すので、GUI は探し直しません。 - 複数のファイル:束ねた索引(
.uwvz)を開いて、同じように載せます。 - GUI に無い段(
-sort count・-head 20など)は、窓の上に「画面に無い段は表示していません」と出します。全部を文字で欲しいときは[保存…]で書き出します。

束ねる
- ファイル指定の欄に
*.log・logs/**・f1.log,f3.logのように書くと、uvpと同じに1本の索引に束ねて開きます。タブ名は「*.log — app(12本)」の形です。GUI で作った索引を CLI が作り直さずに使い、その逆も同じです。 - [ファイル展開]の下の行の末尾に、束ねる前の予告が出ます。
| 予告 | 意味 |
|---|---|
| 新しく作ります(大きさ・目安 約 n 秒) | 初めて束ねる |
| 前回の索引をそのまま使います(すぐ開きます) | 変わっていない |
| n 本増えています。末尾に足します | ファイルが増えた |
| (ファイル名)が更新されました。作り直します | 中身が変わった |
| n 本が見つかりません。前回の索引のまま開きます | ファイルが消えた。[作り直す…]も出る(前の索引は .bak-日時 に退避) |
- 検索語を書かずに実行すると、束ねて開くだけです(
uvp -open '*.log'と同じ)。束ねている間も進み具合と[中止]が出ます。 - 基準フォルダーに書けないときは、索引の保存先を聞きます(別の場所に置くと CLI とは索引を共有できません)。
- フォルダーを本体にドロップすると、そのフォルダーを基準フォルダーにしてダイアログを開きます。[開く]で 2本以上を選んだときは「別々のタブで開く/1本に束ねて開く」を聞きます。
- 束ねた索引を直接開いたときは、元のファイルと突き合わせ、増えた・変わったときは「足して開く/作り直して開く」「このまま開く」「やめる」を聞きます。
書き出す
![-out hits.txt.gz を付けて実行すると、「書きました: パス」と[開く][フォルダーを表示]が出る](https://uvp.y42u.net/wp-content/uploads/2026/10/fs-cli-14-dialog.png)
| 書き方 | 動き |
|---|---|
-out hits.txt.gz |
ファイルに書いて「書きました: パス」と[開く][フォルダーを表示]を出す。既にあるときは上書きしてよいか聞く(「はい」は --force と同じ) |
cat・-replace(-out なし) |
出力を 名前.cat.txt/名前.replaced.txt として新しいタブで開く。元のファイルは変えない |
convert・--rebuild・--tune |
作った索引を[開く]で出す/作り直す前に確かめる/出力欄に出す(--apply は設定にも入れる) |
| [保存…] | CLI の -out と同じ書き方で書く。形式は拡張子で決まる(.csv は --csv、.json・.jsonl は --json) |
15. 設定
Windows・Linux はメニュー「ファイル → 設定…」(Ctrl+,)、Mac はアプリ名メニューの「設定…」(Cmd+,)。設定の画面は「全般」「キー」「表示」のタブに分かれています(「キー」「表示」は v1.9.0 から)。変えたものはすぐに効き、自動で覚えます。
15-1. 全般
| 項目 | 既定 | 内容 |
|---|---|---|
| 言語 | OS に従う | 日本語/English |
| 1回の検索で保持する最大ヒット数 | 0(無制限) | メモリを守るための上限。CLI(uvp)と共通(-limit) |
| 検索に使うスレッド数 | 0(=8) | 0〜1024。uvp --tune --apply で測った値が入ります。環境変数 UVP_MAX_THREADS があればそちらが優先 |
| ライセンス | — | 状態、登録済みのキー(種類・残り日数・削除=ごみ箱)、キーの入力、アクティベート(鍵)/再検証(同期)/解除(リンク切り)、購入(カート) |
15-2. キー(キーの割り当て)— v1.9.0 から
| 部品 | 意味 |
|---|---|
| ひな形:[標準][vi・less 風] | 割り当てをまとめて入れ替える(下の表) |
| 一覧 | 操作・今のキー・既定のキー([標準]の割り当て)・[戻す](その操作を既定に)・[消す](キーを外す) |
| 下の欄 | 一覧で操作を選ぶと、ここで新しいキーを待ちます。押したキーがその操作に付きます |
| [全部を既定に戻す] | 全部の操作を既定に戻す([標準]を選んだのと同じ) |
| [書き出す…]/[読み込む…] | 割り当てを .uwvkeys のファイルに書く/読む。別の機械へ持っていけます(Mac と Windows・Linux の間でも。Ctrl と Cmd は読み替えます) |
- 1つの操作に2つまで付けられます。そのキーがほかの操作に付いていたら、その場で付け替えるかどうかを聞きます。
- 数字は「何行」の前置き(
5jで5行下・120gで120行目)に使うので、付けられません。 - 検索欄・ジャンプ欄など文字を入れる欄にいる間と、編集中の本文では、文字1つのキー(
jk[など)は文字として入ります。Ctrl 付きのキー・F キー・Esc は効きます。 - [標準] はこれまでと同じ割り当てです。[vi・less 風] は[標準]に次のキーを足したものです。
| キー | 操作 |
|---|---|
j / k |
1行下/上(数字を前に打つと N 行。5j で5行下) |
h / l |
左/右へ横に動かす |
^ / $ |
行の左端/右端へ |
g / G |
先頭へ(数字を前に打つとその行へ。120g で120行目)/末尾へ |
n / N |
次のヒット/前のヒット(Mac では Cmd+G・Cmd+Shift+G の代わりに付きます) |
* / # |
選んだ語(ダブルクリックで選ぶ)の次/前を探す |
m |
ブックマークを付ける・外す(行の範囲を選んでいれば全部) |
f |
末尾追従のオン・オフ(Pro には末尾追従が無いので、何もしません) |
v |
結果の一覧の切り替え([ヒット+ブックマーク]→[ブックマークだけ]→[ヒットだけ]。§4-1) |
+ / - |
結果の窓を大きく/小さく |
| Ctrl+Shift+O | 開いているファイルを選ぶ小さな窓(名前の一部を打って絞り、Enter で移る・Esc で閉じる) |
15-3. 表示(フォント・テーマ)— v1.9.0 から
| 部品 | 意味 |
|---|---|
| テーマ:[OS に合わせる][ライト][ダーク] | 既定は[OS に合わせる]。OS の明るい・暗いの切り替えに、その場でついていきます |
| 本文のフォント | 等幅のフォントが上に並びます。「既定」は Cascadia Mono・Menlo・Consolas など |
| 大きさ | 6〜48。結果の一覧は本文より2小さく出ます。行の高さはフォントに合わせて変わります |
| [フォントを既定に戻す] | フォントと大きさを既定に戻す |
- 本文や結果の一覧の上で Ctrl(Cmd)+ホイール、Ctrl++ / Ctrl+-でも大きさを変えられます。Ctrl+0 で既定の大きさに戻ります。
- ダークでは、窓・本文・結果の一覧・ミニマップ・ツールバーのアイコン・ダイアログ・帯が暗い色になります。編集の選択・カーソル・変えた所の印、矩形選択、ボタンの色も暗い背景に合わせた色になります。
16. CLI(uvp)— ripgrep との比較
uvp は GUI と同じエンジン・同じ .uwvz を使う CLI です。GUI で見ていたのと同じ結果をスクリプトから取り出せ、-open で CLI の結果をそのまま GUI に渡して、続きをマウスで絞り込めます。PATH の設定は §2-1 を参照してください。全オプションと例は uvp コマンド操作マニュアル にあります。
uvp <ファイル> <検索語> [段…] [オプション] 調べる(主記法)
uvp '<指定>' <検索語> [段…] 複数ファイルを1本の .uwvz に束ねて調べる
uvp convert <ファイル> [-out x.uwvz] .uwvz を作るだけ
uvp cat <ファイル> [-out …] 本文を出す
uvp <ファイル.uwvz> -extract [形式] [-out …] 元の形に戻す(ライセンス不要)
uvp <索引か指定> --info 索引の由来と中身を出す(ライセンス不要)
uvp <指定> --files 対象になるファイルだけを出す(ライセンス不要)
uvp -open [<ファイル>] … GUI を起動する(先頭に書けば GUI 上で実行)
段は書いた順に実行されます(パイプと同じ考え方)。修飾子(-i・-E・-w・-v・-C N)は語の後ろに書きます。
複数ファイル・zip/pbf・圧縮・その他
- 複数ファイルを1本の
.uwvzに束ねる:uvp '*.log' ERROR・uvp '**/*.log' ERROR・uvp 'app.log,app.log.*.gz' ERROR。指定は必ず引用符で囲みます(シェルではなく uvp が広げます)。波かっこuvp '**/*.{txt,log}' ERROR・uvp 'app.log{,.*.gz}' ERRORも使えます(v1.9.0 から。§14-1)。索引は実行したフォルダーにuw-%a.log.uwvzのような名前でできます。出力はファイル名:行番号<TAB>本文。 - 2回目から作り直さない:ファイルが増えた・行が足されたときは、その分だけ索引の末尾に足します。書き換わったときだけ作り直します(前に予告を出します)。
- 消えたファイルは残す(Keep):ログの入れ替えで古いファイルを消しても、その中身は索引に残り、探せます。索引からも外したいときは
--rebuild(前の索引は.bak-日時に退避)。 - 除外:ワイルドカードで広げた分は
.ignore・.gitignoreに当たるファイルを外します(主な規則は ripgrep と同じ)。隠しファイルはどの OS でも対象外。外したくないときは--no-ignore。 - zip:
uvp logs.zip ERROR(中のテキストのファイルごと。出力はlogs.zip!app.log:行番号)、uvp 'logs.zip!server/*.log' ERRORで中の一部だけ。 - OSM の pbf:
uvp japan-latest.osm.pbf 東京(OSM-XML と同じ形にして扱います)。japan-latest.osm.pbf(2.46GB・XML にすると 51.3GB 分)を 21.6秒で検索できる.uwvzにします。続けて「東京」(94,979件)を探し終えるまで、キャッシュを捨てた状態から合計 27.34秒。2回目からは.uwvzを使うので 5.01秒(キャッシュを捨てた直後でも 6.43秒)です(2026年9月28日の実測・uvp1.7.3.5。変換と検索の処理は 1.7.3.6 と同じ)。 - 圧縮の入力7形式(gz・bz2・xz・lzma・zst・lz4・br)を展開して索引にします(外部コマンドは使いません)。平文と圧縮を混ぜて束ねられます。
-outは7形式+zip:拡張子で.gz.bz2.xz.lzma.zst.lz4.br.zipに書き出します(例uvp cat app.log.bz2 -out app.log.zst)。-extractの形式指定:txt gz bz2 xz lzma zst lz4 br zip。形は「指定 →-outの拡張子 → 元の形」の順で決まります。束ねた索引は部品ごとに元の名前で戻します(-outはフォルダー)。--info:束ねた索引の元の指定・作った日時・中身の一覧を出します(ハッシュ付きの名前の索引が何を束ねたか知りたいとき)。--files:検索せず、指定が何に広がるかだけを出します(除外した本数も出す。索引は作りません)。- メモリ不足:当たる行が多すぎてメモリが足りなくなったときは、落ちずに絞り方の案内を出して exit 2 で終わります(
-limit N・-head N・-out・検索語を足す)。 --tune:この機械に合うスレッド数を測ります(--applyで設定に保存。GUI と共通)。
ripgrep(rg)・sed との対比 — rg/sed でこう書くものを、uvp ではこう書きます。
| # | 機能 | rg・sed など | uvp |
|---|---|---|---|
| 1 | 検索(固定文字列) | rg -n -F '東京' f |
uvp f '東京' |
| 2 | 大小無視 | rg -n -i -F tokyo f |
uvp f tokyo -i |
| 3 | 正規表現 | rg -n 'v="(a\|b)"' f |
uvp f 'v="(a\|b)"' -E |
| 4 | 単語一致 | rg -n -w id f |
uvp f id -w |
| 5 | 絞り込み(多段) | rg -n -F A f \| rg -F B |
uvp f A B(語を並べる。前段の結果の中を再検索) |
| 6 | 除外 | rg -n -F A f \| rg -v -F B |
uvp f A B -v |
| 7 | ±N行内の共起 | (1コマンドなし。rg -C は文脈を出すだけ) |
uvp f A -C 3 B(前後3行の中に B がある A だけ) |
| 8 | 集計 上位20 | rg -N -o 'k="amenity" v="([^"]+)"' -r '$1' f \| sort \| uniq -c \| sort -rn \| head -20 |
uvp f 'k="amenity"' -uniq 'v="([^"]+)"' -head 20 |
| 9 | 集計→件数順/値順 | … \| sort -k1,1nr / … \| sort -k2 |
… -uniq '<キー>' -sort count / -sort value |
| 10 | 順序検出(A→B→C の順に現れる流れ) | (相当なし。awk で状態機械を書く) |
uvp f -seq 'login,timeout,restart' |
| 11 | 先頭N件 | rg -n -F '東京' f \| head -10 |
uvp f '東京' -head 10(N件見つけた時点で止まる) |
| 12 | 末尾N件 | rg -n -F '東京' f \| tail -10 |
uvp f '東京' -tail 10 |
| 13 | 並べ替え→先頭 | rg -n -F '東京' f \| sort \| head -10 |
uvp f '東京' -sort -head 10 |
| 14 | ファイル書き出し | rg -n -F '東京' f > out.txt |
uvp f '東京' -out out.txt(既存は --force なしで上書きしない) |
| 15 | 圧縮書き出し | rg -n -F '東京' f \| gzip > out.gz |
uvp f '東京' -out out.txt.gz(.bz2 .xz .zst など7形式と .zip) |
| 16 | 抽出(行番号なし) | sed -n '/東京/p' f > out.txt |
uvp f '東京' --no-line-number -out out.txt |
| 17 | 置換 | sed 's/A/B/g' f > out.txt |
uvp f A -replace B -out out.txt(Edit ライセンス・元ファイルは変更しない) |
| 18 | 置換(正規表現+群参照) | sed -E 's/v="(a\|b)"/v="X_\1"/g' f > out.txt |
uvp f 'v="(a\|b)"' -E -replace 'v="X_$1"' -out out.txt |
| 19 | 複数ファイル | rg -n -F ERROR logs/ |
uvp 'logs/**' ERROR(1本の .uwvz に束ねる) |
| 20 | 対象ファイルの一覧 | rg --files logs/ |
uvp 'logs/**' --files |
| 21 | 圧縮したまま検索 | rg -z -n -F '東京' f.xz(毎回展開) |
uvp f.xz '東京'(初回に .uwvz を自動作成)/uvp f.uwvz '東京'(元ファイルが無くても可) |
| 22 | zip の中 | (不可。展開してから) | uvp logs.zip ERROR |
| 23 | 元の形へ復元 | gzip -dc f.gz > f |
uvp f.uwvz -extract [形式] -out f(ライセンス不要・中身はバイト一致) |
| 24 | 本文出力 | cat f |
uvp cat f |
| 25 | 保持するヒット数の上限 | — | -limit N(メモリを守る保険。既定は無制限・上限に当たると exit 2) |
| 26 | 結果を GUI に渡す | — | … -open(末尾=実行して GUI にも渡す/先頭=GUI 上で実行) |
| 27 | 終了コード | grep: 0=あり/1=なし/2=エラー |
同じ 0/1/2(2 は上限で打ち切ったとき・メモリ不足のときも) |
-limit Nは保持するヒット数の上限(メモリはヒット数に比例するため)。既定は無制限(GUI の設定と共有)。上限に当たると終了コード2を返し、どのヒットが残るかは決まりません。先頭 N 件が欲しいときは-head Nです。- 進捗・診断は stderr、データは stdout(パイプに流しても安全)。
性能の目安 — ripgrep との比較(キャッシュを捨てた直後の1回目(cold)と、続けて2回目(hot)を測ります。uvp の1回目は索引の作成を含みます。倍率は rg ÷ uvp で、1 を超えると uvp が速い 🟢、1/x は rg が速い 🍊。1.5倍未満は同等です。結果はすべて rg(または sed・sort・uniq などの組み合わせ)と一致。版と機械は数字の条件)
先に、uvp が勝たない場面です。
- 1本を1回だけ探すときは同等です。索引を作る分、3GB・10GB では1回目は rg が少し速い(3GB で rg 3.26秒/uvp 3.43秒=1/1.05 🍊、10GB で 10.94秒/11.82秒=1/1.08 🍊。50GB は 64.68秒/58.81秒で uvp が 1.10倍・同等)。3GB・10GB は2回目も同等です(0.31秒/0.29秒、0.97秒/1.00秒。ファイルがメモリに残るので rg の2回目も速い)。
- 複数のファイルを束ねる1回目は遅いです。12本(gz 7本+平文 5本)で rg 24.62秒/uvp 41.23秒(1/1.67 🍊)、無料版 uvf(17.60秒)の 2.34倍かかります。gz 5本でも rg 1.34秒/uvp 3.04秒(1/2.27 🍊)です。
- 平文だけを束ねるときは rg が速いです(平文5本の1回目+2回目の合計で rg 5.56秒/uvp 6.64秒=1/1.19 🍊・同等の範囲)。
- 圧縮1本の1回目は同等です(7形式で 1/1.13〜1.29)。
| 1本の大きいファイル | 3GB | 10GB | 50GB |
|---|---|---|---|
| 素の検索「東京」の2回目(hot) rg → uvp | 0.31 → 0.29秒(同等) | 0.97 → 1.00秒(同等) | 70.33 → 6.45秒(10.9 🟢。rg の2回目は 55〜70秒とぶれ、55.50秒の日でも 8.6) |
検索7種の合計(cold+hot。素の検索・-i・-E・-v など) rg → uvp |
33.63 → 14.05秒(2.39 🟢) | 95.41 → 29.07秒(3.28 🟢) | 870.64 → 232.98秒(3.74 🟢) |
| uvp の段・出力など16項目の合計(cold+hot) 組み合わせ → uvp(uvp は索引を作ったあとの時間) | 70.54 → 13.59秒(5.19 🟢) | 200.01 → 38.81秒(5.15 🟢) | 1,590.26 → 212.36秒(7.49 🟢) |
- 無料版 uvf は同じ検索7種で rg と同等です(1.00〜1.16)。全96項目の総合では、CLI の組み合わせ 4,168.64秒に対して uvf/uvp 1,672.55秒(2.49倍)で、結果の不一致は 0 でした。
圧縮ファイル・複数ファイル(キャッシュが温まった状態(hot)で各2回の速い方。rg は rg -z。圧縮1本は同じ 979MB の XML を各形式で圧縮)
| 秒 | rg | uvf | uvp 1回目 | uvp 2回目 | 2回目 rg → uvp |
|---|---|---|---|---|---|
| gz 1本 | 0.43 | 0.33 | 0.42 | 0.12 | 3.6 🟢 |
| bz2 1本 | 7.89 | 7.43 | 7.64 | 0.12 | 66 🟢 |
| xz 1本 | 4.21 | 3.37 | 3.44 | 0.11 | 38 🟢 |
| lzma 1本 | 3.40 | 2.57 | 2.64 | 0.12 | 28 🟢 |
| zst 1本 | 0.54 | 0.50 | 0.57 | 0.12 | 4.5 🟢 |
| lz4 1本 | 0.31 | 0.28 | 0.35 | 0.12 | 2.6 🟢 |
| br 1本 | 0.87 | 0.74 | 0.85 | 0.12 | 7.3 🟢 |
| gz 5本を束ねて(展開後 約 7.4GB) | 1.34 | 1.04 | 3.04(1/2.27 🍊) | 0.73 | 1.84 🟢 |
| gz 7本+平文 5本=12本を束ねて(展開後 約 60GB) | 24.62 | 17.60 | 41.23(1/1.67 🍊) | 9.52 | 2.59 🟢 |
- 2回目は索引から探すので、形式によらず 0.11〜0.12秒です。展開の重い形式ほど差が開きます。
- 12本では、2回目から uvf より 1.85倍速く、1回目の遅れ(約24秒)を2回目以降の3回で取り返します。
- rg は質問のたびにファイル全体を読み直し、uvp は一度読んで索引を残します。1回だけ探すなら索引を作らない uvf や rg で十分で、同じファイルに問いを重ねるほど uvp が効きます。全データは uvp コマンド操作マニュアル と ベンチマーク一覧 にあります。
17. 既知の制限
- 1行の表示は先頭 8,192文字まで(以降は
…(省略)。速度優先の仕様です。横スクロールで8,192文字までは読めます)。 - 改行は LF / CRLF が対象(CR 単独は未対応)。主対象の文字コードは UTF-8 / Shift-JIS / EUC-JP。UTF-16 は行の区切りが厳密ではありません。
- EUC-JP の補助漢字(JIS X 0212)は読めず「・」になります(元には戻りません。§3-2)。
- v1.9.0 で索引の形が新しくなりました。前の版で作った
.uwvzは、初めて開く・探すときに作り直します(§3-2)。 - Word・Excel・PDF は元の形式には書き出せません。.doc・.xls・パスワード付き・文字の無い PDF は読めません(§3-3)。
- 結果の前後 ± N は最大 64。集計の値の種類は 20 万まで。矩形のコピーは約 500 万文字を超えるとファイル保存になります。
- 編集(Edit Upgrade)の対象は
.uwvz化したファイルです。置換後は文字列そのまま($1は使えません)。 - 数百万件のヒットから絞るときは、「位置を計算中…」が長く続くことがあります。
- zip・pbf は GUI で直接開けません(§12)。zip は GUI の「コマンドライン」で束ねれば開けます(§14-1)。
- Windows 版は署名していません(初回の起動で警告が出ることがあります)。
- リアルタイム Tail(
tail -f相当の追尾表示)は Pro にはありません。 追記を追いかける機能は無料版 UwView にあります。Pro は編集を差分ファイル(.ewvz)で管理する都合上、原本が書き換わり続ける状態と相性が悪いため搭載していません。書き込み中のログを追いかけたいときは無料版を、開き直して最新まで読むだけなら Pro でも行えます。v1.9.0 から、開いているファイルが外で切り詰められた・消されたときなどは帯で知らせ、[読み直す]で開き直せます(§3-4)。 - 外で変わったファイルを読み直しても、検索の結果は自動では更新しません(検索し直してください)。
数字の条件
- GUI の klogg との比較(§3-1):klogg の行と、開き直しの 0.01〜0.07秒は v1.6.6 “First Light” の実測です(klogg 24.11.0・2026年9月20日・cold)。UwView Pro の開く・1回目と検索の行は、同じエンジンの CLI(
uvp1.7.3.1・2026年9月28日)の値で、開く・1回目=キャッシュを捨てた直後(cold・.uwvzの作成込み)、検索=.uwvzがある2回目(hot)です。 - CLI の ripgrep との比較(§16):1本の大きいファイルは uvp/uvf 1.7.3.6.9・ripgrep 15.2.0・2026年10月4日の実測で、1回目=cold(
sudo purgeのあと)、2回目=hot。圧縮ファイル・複数ファイルは uvp 1.7.3.5(検索の処理は 1.7.3.6 と同じ)・uvf 1.7.3.4(検索の処理は 1.7.3.6 と同じ)・ripgrep 15.2.0・2026年9月28日の hot(各2回の速い方)。平文5本の束ね(rg 5.56秒/uvp 6.64秒)だけは uvp 1.7.3.6.9(2026年10月4日)の cold+hot の合計です。 - 多段階検索の秒数(§5:50GB の3段で 8.1秒・0.24秒/段)は v1.6.2 の実測です。
- 圧縮ファイルの直行変換(§12:gz・9.49GB)は v1.6、gzip・zip との比較は uvp 1.6.2(2026年9月14日・cold)の実測です。この比較で直後の2回目(hot)の
.uwvz直接検索は 1.00/1.78/5.81秒でした(uvp 1.6.3)。 - 一括置換(§11:10GB・1億行で 16.8秒)の条件は計測記事にあります。
- klogg・ripgrep・gzip との比較は Mac(Apple M4・10コア・メモリ32GB)・外付け USB SSD で測りました。データは OpenStreetMap 日本の XML、検索語は主に「東京」です。秒数は環境によって変わります。OS・機械をまたいで比べないでください。 全データは ベンチマーク一覧 にあります。
18. 困ったときは
サポート へどうぞ。機能要望は GitHub Issues で受け付けています。
機能別の詳しい記事
- 多段階検索 — 9万件を2回の絞り込みで54件に
- シーケンシャル検索 — 「東京→横浜→中町」の順に現れる場所だけを探す
- 頻度集計 —
sort | uniq -cをGUIに - 1億行の一括置換 16.8秒 — Edit Upgrade の実測
- klogg と正直に比べてみた — 全機能比較表
- uvp コマンド操作マニュアル — 全コマンドと rg/sed との対比
- gzip の代わりに .uwvz で置いておく — 1/9 に縮んで、7秒で探せて、無料で元に戻せる
- ripgrep に勝てる場所を1つだけ選ぶ — 読むバイト数を 1/9 に
無料版のマニュアル
- UwView 操作ガイド(無料版の GUI)(PDF)
- uvf コマンド操作マニュアル
- v1.9.0「Full Spectrum」リリースノート
- 前の版:v1.8.1.9「Finder Scope」リリースノート
開発者より: アプリ・Kindle本・公開プロジェクトの一覧は GitHub: amru195704 にまとめています。