はじめに

この資料は Rust 製のコマンドラインツール semiuniq について紹介するものです。

Rustの環境構築やツールのインストール方法については以下を参照してください

Rust開発環境を整える

semiuniq について

semiuniq は、GNU uniq のように、ファイル中の繰り返し行を削除するCLIツールです。uniq とは違い、出力行のグローバルな一意性は保証しませんが、代わりにソートする必要がありません。ログファイルなどで繰り返される行が多いときに便利になります。

GitHub - kljensen/semiuniq: A uniq-like tool for removing nearby repeated lines in a file"

使用方法

semiuniq <WINDOW_SIZE> [FILE_NAME]

オプション

引数

使用例

semiuniqプログラムは、入力の行を読み、互いの近接で繰り返される行を排除してほぼユニークな行を出力のします。GNU uniq とは違い、出力行のグローバルな一意性は保証しませんが、代わりにソートする必要がありません。ログファイルなどで繰り返される行が多いときに便利になります。

例えば、私のシェルの履歴は次のようなものです。

cd foo
pipenv run ansible-playbook -vvvv -i hosts.yaml playbooks/default.yaml -l hydrogen --tags unbound
vim playbooks/default.yaml
pipenv run ansible-playbook -vvvv -i hosts.yaml playbooks/default.yaml -l hydrogen --tags unbound
cd ..
tig
cd foo
pipenv run ansible-playbook -vvvv -i hosts.yaml playbooks/default.yaml -l hydrogen --tags unbound
ssh hydrogen