UwView Pro 操作ガイド — View と Edit(UVPE)の使い方

UwView シリーズ — 探す UwView・比べる UwDiff

巨大なファイルを開いて探すのは UwView、2つのファイル・フォルダを比べるのは UwDiff。どちらも Windows・macOS・Linux で動きます。→ UwDiff の操作マニュアル

UwView(無料版)
操作ガイド
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 を付けると元の値)
PDF ## 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. ひな形を選ぶと、式が検索欄に入り、正規表現がオンになります。ほかの定義済みと違い、選んだだけでは探しません。
  2. 最初の語(語1・除く語)が選ばれた状態なので、そのまま打つと置き換わります。
  3. 残りの語も書き換えて、Enter で探します。

  4. 語は正規表現の中に入るので、. ( [ などの記号は \. のように \ を付けます。

  5. 英語の画面では word1・excluded などで入ります。

5. 多段階検索(Drill-down)

多段階検索。東京 94,979件 → 練馬 184件 → 埼玉 54件 とタブで絞り込んだ画面

検索結果を、別の語でさらに絞り込む機能です(grep -C N w1 | grep w2 | grep w3 のGUI化)。

  1. 通常の検索をすると Tab1 に結果が出ます。
  2. 絞り込みバーに次の語を入れて「絞り込む」→ 前の段のヒットの前後 ± N 行の中だけを探した 新しいタブ が増えます(最大8段)。
  3. タブには 語 (件数) が表示され、±N は段ごとに独立(途中は±1で締め、最終段だけ±10に広げる、という使い方ができます)。タブを選ぶと、その段のヒットが本文の黄色・ミニマップ・◀▶ に反映されます。
  4. 途中の段から絞り直すと、それより後ろの段は消えます。
  5. 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. 集計の欄に正規表現を入れます。( ) の中(第1キャプチャ群)が値になります(括弧が無ければヒットした部分そのもの)。
  2. 「上位」の数を決めます(既定 20、1〜1000)。残りは「その他」にまとめます。
  3. ▶ で実行。
定番の式(候補に出ます) 数えるもの
(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)。

範囲で見る。489 ブロック・4,226 行で、Error_Code: 503 を含まないブロックだけが並び、IP アドレスは x.x.x.x に伏せてある

部品 意味
範囲で見る オンでブロックとして並べる。ブロックの間は線で区切る
上限(行) 閉じないまま、この行数を超えた開始は捨てる(--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 から

「その他の操作」→「伏せる・形」で使います。

形に $1,$2,$3、CSV をオン。順番がばらばらの User・Action・Time の行が 2,072 件並んでいる

部品 意味
伏せる… 式に当たる所を置き換えます(-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)…」(保存先を選びます)。「テキストとして書き出す…」でふつうのテキストにも書けます。編集モードを抜けるときに「保存する/保存しない」を聞きます。

Finder で原本10.09GB・.ewvz 3.7MB・.uwvz 1.38GB が並んでいる画面。編集差分が数MBで済んでいる

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 の書き方がすべて使えます。

UwView Pro のコマンドライン ダイアログ。検索パターンに -seq … -range -grep … -v -mask … を入れて実行し、uvp: 489 件・.uwvz 再利用 と出ている

コマンド ファイル指定の欄 検索パターンの欄
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 など)は、窓の上に「画面に無い段は表示していません」と出します。全部を文字で欲しいときは[保存…]で書き出します。

-uniq の行を入れると、結果の窓は「集計」のタブで開き、施設の種類が多い順に並ぶ

束ねる

  • ファイル指定の欄に *.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 を付けて実行すると、「書きました: パス」と[開く][フォルダーを表示]が出る

書き方 動き
-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つのキー(j k [ など)は文字として入ります。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日の実測・uvp 1.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(uvp 1.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 で受け付けています。

機能別の詳しい記事

無料版のマニュアル


開発者より: アプリ・Kindle本・公開プロジェクトの一覧は GitHub: amru195704 にまとめています。

タイトルとURLをコピーしました