ヘルプ — 使い方・入手

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

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

UwView の入手方法と基本的な使い方をまとめます。UwView は、巨大なテキストを CLI で探して、GUI で読むための CLI/GUI ツールです。UwView(無料版)は GUI(画面)での閲覧・検索と、ターミナルから呼べる CLI(uvf)を備えます(書き換えはできません)。有料版 UwView Pro は同じ操作に、索引の保存(2回目以降は瞬時)・複数ファイルを束ねた索引・絞り込みと集計・編集(Edit Upgrade)・CLI の uvp が加わります。

このページでは、CLI(uvf)は ripgrep と、GUI は klogg と比べながら説明します。

現行版は v1.9.0「Full Spectrum」(UwView・UwView Pro とも)です。v1.9.0 から、無料版でも Word・Excel・PDF の中の文字を探せます。ダークテーマ・フォント・キーの割り当て(vi・less 風のひな形つき)の設定、結果一覧へのブックマーク、ファイル指定の波かっこ {a,b} も入りました。Pro は Shift-JIS・EUC-JP・UTF-16 のファイルも UTF-8 の索引にして、UTF-8 と同じ速さで探します。v1.8 から、画面の「コマンドライン」で uvf・uvp と同じ書き方で検索できます。複数のファイルをまとめて探し、平文と7種類の圧縮ファイルを混ぜても1回で済み、その結果はそのまま GUI で読めます。

このページは要点だけです。詳しい説明は次の資料にあります。

知りたいこと 資料
uvf の書き方・オプション・正規表現・ripgrep との対応表 uvf コマンド操作マニュアル
GUI(画面)の操作(検索・結果一覧・ファイル一覧とタブ・ハイライタ・キー操作) UwView 操作ガイド(PDF)
現行版 v1.9.0 の内容 リリースノート
UwView Pro の GUI(多段検索・集計・.uwvz・編集) UwView Pro 操作ガイド
CLI の uvp(Pro) uvp コマンド操作マニュアル

入手・ダウンロード

無料版は Homebrew(Mac)・Scoop(Windows)で入れるのが簡単です。CLI の uvf もそのまま使えます。

brew install --cask amru195704/uwview/uwview                        # Mac(更新は brew upgrade --cask uwview)
scoop bucket add uwview https://github.com/amru195704/scoop-uwview  # Windows(初回だけ)
scoop install uwview                                                # Windows(更新は scoop update uwview)

Linux の場合と、手で入れる場合は、GitHub の Releases、または ダウンロードページ から、お使いの OS・アーキテクチャに合ったファイルを選んでください(.NET のインストールは不要です)。Homebrew と Scoop も Releases から取得して SHA256 を照合します。チェックサムは Releases の SHA256SUMS-1.9.0.txt にあります。

ファイル(例:UwView-1.9.0-mac-arm64.dmg) 対象
UwView-<版>-mac-arm64.dmg macOS(Apple Silicon)
UwView-<版>-mac-x64.dmg macOS(Intel)
UwView-<版>-win-arm64.zip Windows(ARM64)
UwView-<版>-win-x64.zip Windows(x64)
UwView-<版>-linux-aarch64.tar.gz Linux(ARM64)
UwView-<版>-linux-x86_64.tar.gz Linux(x86_64)

UwView Pro 本体(UwViewPro-…)は ダウンロードページ から直接ダウンロードします。ダウンロードしただけでは無料版と同じ機能で動き、ライセンスキーを入れると Pro の機能が有効になります(後述)。

インストール不要ですぐ試したい場合は、ブラウザで動く WASMデモ をご利用ください(Chromium 系ブラウザ推奨)。

インストール・起動

  • macOS: dmg を開いて UwView.app(Pro は UwView Pro.app)をアプリケーションへ入れて起動します。Developer ID 署名・Apple 公証済みのため、警告なしに起動できます。
  • Windows: zip を展開し、同梱の UwView.Desktop.exe(Pro は UwView.Pro.App.exe)を実行します(GUI)。CLI は同じフォルダーの uvf.exe(Pro は uvp.exe)です。SmartScreen の警告が出たら「詳細情報」→「実行」で起動できます。
  • Linux: tar.gz を展開し、同梱の UwView.Desktop(Pro は UwView.Pro.App)を起動します(動かなければ chmod +x で実行権限を付けてから)。

起動すると、窓の題名に UwView(uvf)-Full Spectrum(v1.9.0)(Pro は UwView Pro(uvp)-Full Spectrum(v1.9.0))と出ます。版数はここで確かめられます。

GUI(画面)の使い方

GUI は、ファイル全体をメモリに載せず、画面に見えている行だけを描画します。開いた瞬間から末尾まで動けます。比べる相手は klogg です(この節の最後)。

画面の見かた

場所 内容
メニュー ファイル:開く… / 閉じる(今のタブ) / すべて閉じる。ヘルプ:使い方・最新情報・お問い合わせ(Web)、GitHub、コマンドライン設定…、バージョン情報(Mac はアプリ名のメニューの「UwView について」)
ツールバー ボタンはアイコンです。名前はマウスを乗せると出ます(ほかの窓のボタンも同じです。はい/いいえ・開く/閉じる・保存・中止などは文字のままです)
タブ 1タブ=1ファイル。ファイル名・索引作成の %・×。多いときは1行のまま横にスクロールします(ホイールで送れます)
ステータス ファイルのパス/「行モード」か「ページモード」/位置/文字コード。右に索引作成の進み具合と「キャンセル」、右端に直前の処理時間
ミニマップ ファイル全体の縮図。橙=検索のヒット、青=ブックマーク、灰色の帯=今見ている位置。クリック・ドラッグでその位置へ移ります
スタート画面 ファイルを開いていないときの画面。「ファイルを開く…」、最近使ったファイル(最大15件)、お気に入り

ファイルを開く

  • 開き方: メニュー「ファイル → 開く…」かツールバーの開くボタン(複数選べます)、窓へのドラッグ&ドロップ、スタート画面でダブルクリック、OS の「このアプリケーションで開く」、CLI の uvf -open(後述)。
  • 前回の続き: 起動したときに「前回のファイル(N 件)を復元しますか?」と聞きます。「復元する」で前回の位置まで戻ります。
  • 開いた瞬間から読めます: 開いた直後はページモードで、全体のスクロール・末尾への移動・50% のような割合でのジャンプができます(行番号はまだ出ません)。行の索引ができると行モードになり、行番号・行でのジャンプ・行の選択が使えます。「キャンセル」で索引作成を止めても、ページモードのまま読めます。
  • 索引ができる前に検索すると、検索と索引作成を1回の読み込みで同時に行います。
  • タブ: 複数のファイルはタブで切り替わります。各タブが独立に索引を持ちます。
  • 1行の表示は先頭 8,192 文字までです(それ以降は「…(省略)」)。

圧縮ファイルを開くとき

gz・bz2・xz・lzma・zstd のファイルを開くと、開き方を聞きます。

選択肢 動き
テキストに展開して開く 同じフォルダーに展開してから開きます(gunzip と同じ結果)
.uwvz に変換して開く(Pro) UwView Pro の機能です(無料版では選べません)
やめる 開きません
  • 展開済みのファイルがあれば「それを開く/展開し直す」を聞きます。空き容量が足りなそうなら(圧縮の約4倍が目安)「続ける/やめる」を聞きます。
  • zip は GUI では開けません(展開してから開いてください)。tar・二重圧縮なども理由を示して断ります(ファイルが壊れているとは限らないので、消さないでください)。
  • 展開せずに探すだけなら、CLI の uvf がそのまま検索できます(後述)。

移動する

操作 動き
↑ ↓ / ホイール 1行ずつ/3行ずつ
PageUp / PageDown 1画面ずつ
Ctrl(Mac は Cmd)+Home / End 先頭/末尾
← → / Shift+ホイール / 横スワイプ 横にスクロール。Home で左端へ
ミニマップをクリック・ドラッグ その割合の位置へ
ジャンプ欄に入れて移動ボタン 50% → 半分の位置/12345 → 12345 行目(行モード)。ページモードで数字だけのときはバイト位置
  • ジャンプ欄は Enter でも移動ボタンでも実行できます(Ctrl(Cmd)+L でジャンプ欄へ)。
  • 移動した行は画面の中央に来て、水色で強調されます。

検索

  1. 検索欄に語を入れて Enter(または検索ボタン)。進み具合の窓が出ます(割合・件数・「中止」)。
  2. ヒットがあれば、結果一覧が自動で開きます。
  3. ヒットした語は黄色で強調され、ミニマップに橙の線が出ます。

  4. 正規表現:検索語を正規表現として扱います。外すと速い文字列検索です(既定は外れています)。正規表現は .NET の書き方です。

  5. 大小無視:英字の大文字・小文字を区別しません。
  6. ◀ 前へ / 次へ ▶ で前後のヒットへ移ります。件数は「3/8,739 件」のように出ます。
  7. 検索欄には最近の50件が候補として出ます。よく使う検索は ★(定義済み) で保存し、一覧から選ぶとすぐ検索します。
  8. 探すのは今のタブの1ファイルだけです。複数のファイルは CLI(uvf)で探します(後述)。
  9. 件数の上限はありません。

結果一覧

ヒットした行だけを別の窓に並べます。

  • ダブルクリック/Enter で、本体のその行へ移ります。
  • 前後 ± N 行:ヒットした行の前後も出します。無料版は ±1 までです(Pro は ±64 まで)。前後の行は淡色で、区切りに「⋯」が入ります。
  • 保存…:表示している内容をファイル(名前-filter.txt、UTF-8)に書きます。「行番号を含める」は既定でオンです。
  • 選択はクリック、Ctrl(Cmd)+クリックで追加、Shift+クリックで範囲。Ctrl(Cmd)+A で全部、Ctrl(Cmd)+C でコピー。右クリックで「コピー」「ファイルに保存…」。

複数ファイルの結果・ファイル一覧とタブ

CLI(uvf)で複数のファイルを探し、その結果を GUI で読めます。

uvf -open '*.log' ERROR
  • ファイル番号 1 のファイルがメインのタブに出て、結果の窓が開きます(検索語が無ければファイル一覧が開きます)。GUI は探し直しません。
  • 結果の窓の行番号欄は ファイル番号:行番号(例 3:128)です。行を選ぶと、窓の下に実際のパスが出ます。
  • ダブルクリック(または Enter) で、そのファイルのその行へ移ります。メインに出ているファイルならそのまま移り、追加のタブで開いていればそのタブに切り替えます。どこにも開いていなければ、メインの中身をそのファイルに差し替えます。圧縮ファイルは確認を出さずに隣に展開して開きます。
  • ファイル一覧(箇条書きのアイコン)で、番号と実ファイルの対応、各ファイルのヒットの件数と大きさが見られます。
  • 一覧の 「タブで開く」 をオンにすると、ファイルを追加のタブ(タブ名は 3:ファイル名)で開けます。タブは最大8個(メイン1+追加7)です。すでに開いているファイルは、そのタブに切り替えるだけです。
  • メインのタブは灰色で、閉じられません。タブ名は27文字を超えると ... で省き、マウスを重ねると全体の名前が出ます。

無料版の制限(UwView Pro との違い)

項目 UwView(無料) UwView Pro
結果から元の行へ ファイルを開き直してから移る(大きいファイルは少し待つ) 束ねた索引の中をすぐ移る
GUI の検索欄 メインの1ファイルだけを探す(全体を探し直すのは CLI から) 束ねた全体を探す
GUI に渡せる件数 最大100万件(各行は先頭1,000文字) —
前後 ± N 出ない ±64 まで

色分けハイライタ

検索とは別に、決めた語や式を常に色分けして表示します(ERROR は赤、WARN は黄、など)。ツールバーのハイライタのボタンで管理画面を開きます。

  • 正規表現・大小無視・行全体/ヒットした部分だけの着色に対応し、色覚に配慮した32色のパレットを備えます。上の規則ほど優先です。色は 8〜12 色までにするのがおすすめです。
  • 同梱のプリセット7種:汎用ログレベル、syslog / Linux、Web access (HTTP)、JSON ログ、GeoJSON、KML、GNSS NMEA。
  • 名前を付けて保存し、.uwvhl ファイルに書き出し/読み込みができます。セットはタブごとに選べます。検索の黄色はハイライタの色より優先されます。
  • クイック着色(行モードのとき):本文の語をダブルクリックで選び(もう一度で記号まで広げ、3回目で解除)、右クリックで出る小さな窓の色見本(10色)を選ぶと、その語が着色されます。

ブックマーク・末尾追従・お気に入り

機能 使い方
ブックマーク 画面の先頭の行に付ける/外す。行番号欄の左端とミニマップに青い印が出て、◀▶([ ])で前後のブックマークへ移ります。ファイルごとに覚えて、同じファイルを開くと戻ります(追記だけなら戻し、中身が変わっていたら戻しません)。ファイルメニュー「ブックマークを書き出す…」で 名前-bookmarks.txt に書き出せます
末尾追従 オンにすると末尾へ移り、1秒ごとに追記を見て、増えたら末尾へ送ります(tail -f と同じ)。追記だけに対応します(ファイルの切り詰め・ローテーションには追従しません)
お気に入り ハートのアイコンで今のファイルを登録/解除。スタート画面に出ます

選択・コピー・文字コード

  • 選択(行モードのとき):左ドラッグで行の範囲を選びます。Ctrl(Cmd)+C でコピー、右クリックで「コピー」「ファイルに保存…」。10万行を超えるコピーは、自動でファイル保存に切り替わります。
  • 文字コード(ツールバー):自動判定・UTF-8・UTF-8 (BOM)・Shift-JIS・EUC-JP・UTF-16LE・UTF-16BE。切り替えても索引は作り直しません。タブごとに覚えます。
  • 言語(ツールバー):日本語/English。最初は OS の言語に従います。

キー操作

操作 動き
↑ ↓ / PageUp PageDown 1行/1画面
Ctrl(Cmd)+Home / End 先頭/末尾
← → / Home 横に1文字/左端へ
左ドラッグ / Ctrl(Cmd)+C / Esc 行の範囲を選ぶ/コピー/選択の解除
ダブルクリック / 右クリック 語を選ぶ/着色の窓、または選択のメニュー
結果一覧・ファイル一覧でダブルクリック / Enter その行へ移る/そのファイルを開く
Ctrl(Cmd)+F / F3 / Shift+F3 検索欄へ/次のヒット/前のヒット(Mac は Cmd+G / Cmd+Shift+G も)
Ctrl(Cmd)+L ジャンプ欄へ(ジャンプ欄で Enter を押すと移る)
Ctrl(Cmd)+B / [ ・ ] ブックマークを付ける・外す/前・次のブックマークへ
Ctrl(Cmd)+Shift+F / F5 / Esc 末尾追従のオン・オフ/読み直す/検索欄・ジャンプ欄から本文へ
  • 検索欄・ジャンプ欄に文字を打っている間は、[ ] は文字として入ります。キーの割り当ては変えられません。
  • 無料版に設定画面はありません。言語・ハイライタのセット・検索履歴・定義済みの検索・前回のファイルと位置・最近使ったファイル・お気に入り・「タブで開く」の状態は自動で覚えます。

GUI — klogg との比較

同じ機械・同じファイル・同じ語で、ヒット件数は一致しています(条件は数字の条件)。

3GB 10GB 50GB
開く:klogg 3.65秒 10.98秒 52.55秒
開く:UwView(無料・GUI) 2.99秒 10.13秒 50.44秒
検索:klogg 0.56秒 11.75秒 55.59秒
検索:UwView(無料・GUI) 0.32秒 10.15秒 53.50秒
  • 開くのも探すのも、klogg と同等です(3GB の検索だけ UwView が 1.75倍)。
  • 差がつくのは、探して読むまでを通したときです。klogg は開くのに1回、探すのにもう1回ファイルを読みますが、CLI の uvf … -open は1回で済みます。klogg(開く+検索)4.21秒・22.73秒・108.1秒に対し、uvf … -open は 3.40秒・10.42秒・50.76秒(3GB は同等、10GB で 2.18倍、50GB で 2.13倍)。
  • klogg は索引ができるまで末尾までスクロールできません(258GB で 4分18秒)。UwView の GUI は開いた瞬間から末尾まで動けます。
  • 2回目に開くとき、klogg は毎回索引を作り直します。UwView Pro は保存した索引で 0.01〜0.07秒で開きます。

詳しくは 概要ページ・klogg と正直に比べ直した話 をご覧ください。

CLI — uvf(無料版)/ uvp(Pro)

ターミナルで使う CLI です。無料版は uvf、Pro は uvp です。どちらも GUI と同じエンジンを使い、CLI で探して、ヒットしたら -open で GUI に渡すことができます。比べる相手は ripgrep です(CLI — ripgrep との比較)。

PATH の設定

アプリのメニュー ヘルプ → 「コマンドライン設定…」 を選ぶと、名前だけで打てるように登録されます。登録済みなら「登録し直す/解除する」を選べます。

OS 登録先
macOS /usr/local/bin に uvf(Pro は uvp)のリンクを作ります。管理者のパスワードを聞かれることがあります
Windows ユーザーの環境変数 PATH にアプリのフォルダーを追加します(管理者権限は不要)
Linux /usr/local/bin(権限が無ければ ~/.local/bin)
  • dmg から直接起動しているときは、先にアプリケーションフォルダーへ入れるよう案内します。
  • Mac と Linux の uvf は、ネイティブの1本の実行ファイルです(Mac では起動 0.01秒)。Windows では、長いパス(260文字を超えるもの)も扱えます。
uvf --version        # 版数
uvf --help           # 使い方
uvf --help files     # ファイルの指定のくわしい説明
uvf --help regex     # 正規表現(.NET の書き方)のくわしい説明。ripgrep の書き方からの書き換えも案内します

uvf — 無料版の CLI(受け付ける形は2つ)

uvf ファイル 検索語 [オプション]     # 検索して結果を出す
uvf -open [ファイル] [検索語]         # GUI を起動。ファイルがあれば開き、検索語があれば検索まで

検索語は、既定では文字列そのままで探します(大文字小文字を区別)。オプションの位置は自由ですが、-open だけは先頭か末尾に書きます。

オプション 意味
-i / -E / -v 大小無視/正規表現(.NET)/当てはまらない行
--json 1行に1つの JSON で出す(JSON Lines)
-H / -h ファイル名を必ず付ける/付けない(-h だけを書くと使い方を表示)
--files 検索せず、指定が何に広がるかだけを出す(除外した本数も出す)
--no-ignore .ignore・.gitignore による除外をしない
-open 結果を GUI で表示する(複数ファイルでも使える。--json とは一緒に使えません)
--tune [ファイル] [--apply] この機械に合うスレッド数を実測する。--apply で設定に保存

出力の形:1本のファイルは 行番号<TAB>本文、複数のファイルは ファイル名:行番号<TAB>本文(ファイルは指定した順)。1行は省略せず全部出します。--json では {"n":行番号,"line":"本文"}(複数のときは "file" も付く)です。

終了コード:grep・ripgrep と同じです。0=見つかった/1=見つからない/2=エラー(ファイルが無い・正規表現の誤り・指定の誤りなど)。

if uvf app.log 'FATAL' > /dev/null; then
  uvf -open app.log 'FATAL'      # ヒットしたときだけ、人が見る GUI を出す
fi

複数のファイルをまとめて探す

uvf '*.log' ERROR                    # 今のフォルダーの .log をまとめて
uvf '**/*.log' ERROR                 # サブフォルダーも含めて
uvf 'app.log,app.log.*.gz' ERROR     # 平文と .gz を混ぜて、1回で
uvf '**/*.log' ERROR --files         # 探さずに、対象になるファイルだけを出す
uvf -open '**/*.log' ERROR           # 探して、結果を GUI へ
  • 指定は必ず引用符で囲みます。 シェルではなく uvf が広げるので、Windows でも同じ書き方で動きます。引用符を付け忘れると「複数のファイルが直接渡されました」というエラーになります。
  • 複数のファイルは空白かカンマで区切ります。カンマが1つでもあればカンマだけで区切るので、空白を含むパス(Program Files など)はカンマで区切ってください。
  • * は任意の文字の並び(フォルダーの区切りはまたがない)、? は任意の1文字、** はフォルダーを何段でも。[ ] { } はワイルドカードとして使えません。
  • ワイルドカードで広げた分は、.ignore・.gitignore に当たるファイルを外します(主な規則は ripgrep と同じ)。名前を書いて指定したファイルは外しません。外したくないときは --no-ignore を付けます。--files の最後に、除外した本数が出ます。
  • 隠しファイル・隠しフォルダーは、どの OS でも対象外です。フォルダー名だけ('logs')は使えないので 'logs/**' と書きます。

圧縮ファイル(7形式)

gz・bz2・xz・lzma・zst・lz4・br は、展開しながらそのまま検索します。外部のコマンドは使いません。xz のうち複数ブロックで作られたもの(xz 5.6 以降の既定)は、複数のスレッドで展開します。平文と混ぜて1回で探せます。

uvf app.log.zst ERROR
uvf 'app.log,app.log.*.gz' ERROR -open

.zip・.tar.gz・OSM の .pbf・.uwvz(Pro の索引)は uvf では扱えません。展開してから探してください(zip と pbf は UwView Pro が扱います)。

正規表現(-E)

-E は .NET の正規表現です。よく使う書き方は ripgrep と同じですが、違いがあります。先読み・後方参照はそのまま使えます。[[:alpha:]] のような POSIX 文字クラスと \p{Han} は使えません(エラーで代わりの書き方を案内します)。\d は全角数字にも当たります。1行ずつ照合します。書き換えの例は uvf --help regex と uvf コマンド操作マニュアル の7章にあります。

CLI — ripgrep との比較

速さは ripgrep と同等です。 下の比べ方では、どれも開きが 1.5倍未満でした(7つの検索の合計は 1.3倍未満)。索引は作らず、ファイルを1回だけ読みます。先に負けを書きます。ripgrep のほうが短い時間だった場面は、平文だけを複数まとめて探すとき(平文5本で uvf の時間が ripgrep の 1.17倍)と、3GB・10GB を続けて2回目(hot)に素の検索をしたとき(0.32秒 対 0.42秒、0.99秒 対 1.33秒。メモリに載る大きさなので、どちらもメモリから返ります)です。

1本の大きいファイル(cold=キャッシュを捨てた直後、hot=続けて2回目)

検索7種の cold+hot 合計(秒) ripgrep uvf 倍率(rg ÷ uvf)
3GB 31.25 30.03 1.04
10GB 89.59 88.01 1.02
50GB 828.97 749.14 1.11

検索7種は、素・-i・-E・-E(行頭)・-E -i・-v・-E -v です。50GB の素の検索は、ripgrep 56.06秒/55.50秒 に対して uvf 51.49秒/50.52秒(cold/hot)でした。

圧縮ファイル・複数ファイル(grep 系=標準の grep・ugrep・ripgrep との比較。hot=各2回の速い方。圧縮は 979MB のテキストを各形式で圧縮したもの)

秒 標準の grep ugrep ripgrep uvf 倍率(rg ÷ uvf)
gz 0.90(zgrep) 0.45 0.43 0.33 1.30
bz2 8.03(bzgrep) 7.62 7.89 7.43 1.06
xz 4.01(xzgrep) 3.64 4.21 3.37 1.25
lzma 3.21(xzgrep) 2.83 3.40 2.57 1.32
zst 0.63(zstdgrep) 0.65 0.54 0.50 1.08
lz4 0.65(lz4 -dc|grep) 0.33 0.31 0.28 1.11
br 1.33(brotli -dc|grep) 0.91 0.87 0.74 1.18
gz 5本(展開後 約7.4GB) 9.43(zgrep) 2.56 1.34 1.04 1.29
gz 7本+平文5本=12本(展開後 約60GB) 89.35(zgrep) 25.38 24.62 17.60 1.40
  • 1回だけ探すなら、圧縮はどの形式も uvf が最短でした。ただし ugrep・ripgrep との差は 1.03〜1.36倍で、同等です。標準の grep 系には gz で 2.73倍・lz4 で 2.32倍・br で 1.80倍です。
  • 12本をキャッシュを捨てた直後(cold)に測ると、uvf 21.35秒・ugrep 26.85秒で、これも同等でした。
  • ripgrep は圧縮に -z を付けています。版と環境は数字の条件にあります。
  • 出力は ripgrep と突き合わせて一致を確かめています(不一致 0)。Windows・Linux を含む表は 実測まとめ にあります。
  • 同じファイルに何度も問うなら、索引を残す Pro の uvp が向いています(次の節)。

uvf に無いもの

前後の行(-C)・多段の絞り込み・集計・順序検索・-head/-tail・-out・置換・.uwvz の読み書き・zip と pbf。これらは Pro の uvp の機能です。標準入力の検索・複数行にまたがる検索は、どちらにもありません(ripgrep との対応は uvf コマンド操作マニュアル の11章)。

uvp — Pro の CLI(概略)

uvp は1回目に索引(.uwvz。元の本文を圧縮して行の位置を加えたもの)を作り、2問目からは索引を使うので速くなります。ファイルの指定・正規表現・圧縮の読み込みは uvf と同じです。

uvp <ファイル> <検索語> [段…] [オプション]      調べる(主記法)
uvp '*.log' ERROR                              複数のファイルを1本の .uwvz に束ねて探す(2回目から作り直さない)
uvp convert <ファイル> [-out x.uwvz]           索引(.uwvz)を作るだけ
uvp <ファイル.uwvz> -extract [形式] [-out …]   元の形に戻す(ライセンス不要)
uvp <ファイル> <検索語> -replace <置換後>       置換した全文を出す(Edit ライセンス・元ファイルは変更しない)
uvp -open [<ファイル>] …                       GUI を起動する
uvf(無料) uvp(Pro)
検索・複数ファイル・.ignore/.gitignore・--files ○ ○
圧縮ファイル(7形式) 展開しながら探す 展開して索引にする
索引(.uwvz)で2回目以降を速く — ○
zip の中のテキスト・OSM の pbf — ○
多段の絞り込み・前後 ±N の共起・集計・並べ替え・順序(流れ) — ○
先頭/末尾 N 件・ファイルへの書き出し(圧縮も) — ○
置換した全文を出す — ○(Edit ライセンス)

段は語の後ろに書き、書いた順に実行されます(パイプと同じ考え方)。例:uvp app.log ERROR -C 5 timeout(ERROR の前後5行の中から timeout を探す)、uvp app.log ERROR -uniq 'code=(\d+)'(ERROR の行を code ごとに数える)。終了コードは uvf と同じ 0/1/2 です(2 は上限で打ち切ったときも)。

参考までに、12本(gz 7本+平文5本・展開後 約60GB)を続けて2回探すと、uvp の1回目は束ねた .uwvz を作るので uvf の 2.34倍(41.23秒 対 17.60秒)かかります。2回目は 9.52秒で uvf の 1.85倍速く(ripgrep は 24.62秒)、2回目以降の3回で取り返します。1本の 50GB では、1回目は ripgrep と同等(58.42秒 対 56.06秒)で、2回目は 6.47秒(ripgrep 55.50秒の 8.6倍)です(hot。条件は数字の条件)。

全コマンド・全オプションと rg/sed との対比は uvp コマンド操作マニュアル、GUI での多段検索・集計・編集は UwView Pro 操作ガイド をご覧ください。

UwView Pro — ライセンスの有効化

UwView Pro を購入すると、Polar から UVP-… で始まるライセンスキーが届きます。アプリの 設定 → ライセンス でキーを貼り付けて有効化すると、Pro の機能(2回目以降の瞬時オープン・高速検索・.uwvz・複数ファイルを束ねた索引・zip と OSM の pbf・結果一覧の前後 ±64 行・矩形選択・CLI の uvp。Edit Upgrade なら編集と -replace)が使えます。Windows・macOS・Linux 対応、1ライセンスで全OS。買い切りと月額の2通りがあります(Edit Upgrade も同じ。価格は製品ページ)。14日間の無料試用キーは ダウンロードページ にあります。使い方は UwView Pro 操作ガイド をご覧ください。

既知の制限

  • 改行は LF と CRLF が対象です。CR だけの改行(旧 Mac 形式)には完全には対応していません。
  • UTF-16 は行の区切りが厳密ではありません。主な対象は UTF-8 / Shift-JIS / EUC-JP です。
  • Shift-JIS の文字列検索で、まれに文字の境目をまたいだヒットが出ます(正規表現なら出ません)。
  • 1行の表示は 8,192 文字までです。
  • 閲覧中にほかのプログラムがファイルを切り詰めると、落ちることがあります。
  • GUI では zip を開けません。GUI の検索は1ファイルずつです(複数のファイルは CLI の uvf から)。
  • フォントの大きさ・テーマは変えられません。
  • .gz の中に1行が 64MiB を超える行があり、それが検索に一致すると、「最後まで読めませんでした」という趣旨の案内が出ることがあります。ファイルは壊れていません。展開してから開いてください。
  • ブラウザ版は目安 3GB・1億行までです。パスを指定して開く・ドラッグ&ドロップ・末尾追従・お気に入り・前回の復元・圧縮ファイル・複数ファイルの結果とファイル一覧は使えません。設定も保存されません。

数字の条件

  • CLI の1本の大きいファイル(検索7種の合計・素の検索・uvp の 50GB)は、uvf/uvp 1.7.3.1(2026年9月28日。検索の処理は 1.7.3.6 と同じ)・ripgrep 15.2.0 の実測です。cold はキャッシュを捨てた直後、hot は続けて2回目。uvp の cold は .uwvz の作成込みです。
  • 圧縮 7 形式・複数ファイルは hot(各2回の速い方)で、uvf 1.7.3.4(検索の処理は 1.7.3.6 と同じ)/uvp 1.7.3.5(検索の処理は 1.7.3.6 と同じ)・ugrep 7.8.5・ripgrep 15.2.0 の実測です(2026年9月28日)。12本の cold は別の手計測、平文5本は uvf 1.7.2.7 の cold+hot 合計です。
  • GUI と klogg の比較(1本のファイル・klogg 24.11.0・語は「東京」・cold)は v1.6.6 “First Light”(2026年9月20日)の実測です。UwView Pro の2回目に開く 0.01〜0.07秒も同じ時期の値です。
  • uvf の起動 0.01秒は Mac での値です。
  • どれも Mac(Apple M4・10コア・メモリ32GB)・外付け USB SSD、データは OpenStreetMap 日本の XML で測りました。秒数は環境によって変わります。環境をまたいで比べないでください。 条件と全データは ベンチマーク一覧 にあります。

困ったときは

GUI の操作は UwView 操作ガイド を、uvf でうまく当たらないときは uvf コマンド操作マニュアル の「よくあるつまずき」をご覧ください。不具合や質問は お問い合わせ・サポート へ。機能追加の要望・ロードマップは GitHub Issues で公開しています。


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

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