Automic VaultAutomic Vault

brew

Install gsar with Homebrew

General Search And Replace on files. Version 1.51 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install gsar

local Homebrew formula metadata

overview

Package summary

General Search And Replace on files

Commands and aliases

  • gsar

history

Project history and usage

gsar is Tormod Tjaberg and Hans Peter Verne's General Search And Replace utility, a command-line search-and-replace tool for text and binary files. Its official manual describes it as a binary-aware grep-like utility without regular-expression support, using a Boyer-Moore-derived search algorithm.

Project history

The official source archive identifies the program as gsar 1.51 and credits Tormod Tjaberg and Hans Peter Verne for 1992-2020 copyright. The change log starts with early 1992 implementation work, followed by a sequence of DOS, Unix, compiler-portability, and buffer-handling releases.

The 1996 1.10 release was a major rewrite of the search and replace code, with easier Unix compilation, generated Boyer-Moore-Gosper tables at runtime, and safer handling of directories and buffers. Later releases were quieter maintenance updates, including MinGW support in 2002, larger search buffers and documentation cleanup in 2008, new text modifiers in 2019, and explicit 64-bit file offsets in 2020.

Adoption history

The official homepage says the archive includes full source and DOS/Win32 executables, while most programs compile under Unix as well. Homebrew packages gsar as a small Unix-style command-line utility, which reflects its continued use as a portable binary search-and-replace tool rather than a large active ecosystem.

The homepage notes that gsar was selected as PriceLessWare 2006, indicating some Windows freeware-era recognition before its later package-manager life on Unix-like systems.

How it is used

gsar searches one or more input files, optionally replaces matches, can overwrite multiple files, and can operate as a stdin/stdout filter. The manual emphasizes binary-safe strings, byte offsets, hex entry, DOS-to-Unix and Unix-to-DOS conversion helpers, and context display.

Typical package-manager usage is for scripts or one-off maintenance where byte-oriented search and replace is needed without regular expressions, especially across binary files or files containing control characters.

Why package nerds care

gsar is package-nerd interesting because it is a compact old utility that still fills a sharp niche: binary-safe search and replacement with source available, no runtime dependency stack, and behavior stable enough for packaging.

Its long change log is a small history of portability work across DOS, Windows, Unix, MinGW, compiler quirks, large-file offsets, and command-line parsing, which is exactly the sort of maintenance package managers preserve for users who need the old tool to keep working.

Timeline

  • 1992: Official change log records main program and parser work.
  • 1993: Version 1.05 implements filter mode and faster disk I/O.
  • 1996: Version 1.10 rewrites search and replace code and improves Unix compilation.
  • 2002: Version 1.11 adds MinGW support and ships a Win32 executable.
  • 2008: Version 1.21 expands search and replace buffers and refreshes documentation.
  • 2019: Version 1.50 adds wide-character and hexadecimal text modifiers.
  • 2020: Version 1.51 adds explicit 64-bit file offsets.

Related projects

  • gsar sits near grep, sed, tr, binary patching tools, and small DOS/Unix text-processing utilities, but its official documentation emphasizes binary search and replace rather than line-oriented regular-expression processing.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:repl

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 13 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
gsarcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version1.51
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://tjaberg.com/

  • infoNo package-manager update timestamp was available.low confidence
  • infoRelease/tag comparison is only available for GitHub repositories.https://tjaberg.com/none confidence

install metadata

Package metadata

Package keybrew:gsar
Version1.51
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/gsar
Homepagehttps://tjaberg.com/
Upstream docshttps://tjaberg.com/
LicenseGPL-2.0-only
Source archivehttps://tjaberg.com/gsar151.zip
Bottleavailable (on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namegsar
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • package relationship graph
  • package version freshness
  • package-page enrichment