Home

Awesome

🚀 nsh (nameShift) Documentation

Overview

nsh, formerly known as nameShift, is a versatile tool designed for comprehensive string transformations across files and directories. It offers a range of functionalities tailored for renaming files, modifying file contents, and filtering operations based on file extensions. nsh supports both synchronous and concurrent processing, accommodates case-sensitive or case-agnostic operations, and provides detailed reports on modifications.

Key Features

🚧 Build Instructions 🚧

Windows

  1. Open the command prompt.
  2. Navigate to the nsh root directory containing build.bat.
  3. Execute the build script:
✅   .\build.bat

Unix

  1. Open the terminal.
  2. Navigate to the nsh root directory containing build.sh.
  3. Run the build script:
✅   ./build.sh

Installing nsh System-Wide

Unix Systems

✅  sudo python3 build/install.py

Or:

✅  sudo ./build/install.py

Or simply use

✅  go install

If you're Ok with just installing it inside $GOPATH/bin directory.

Windows

✅  python build\\install.py

Or directly run:

✅  build\\install

Or simply use

✅  go install

If you're Ok with just installing it inside $GOPATH/bin directory.

Usage Examples

Windows

✅ .\`nsh`.exe "path\\to\\directory" "OldText" "NewText" --ignore-config-dirs=true --work-globally=false --concurrent-run=false --case-matching=true --file-extensions=".go,.md"

Or, for an installed tool:

✅ `nsh` "path\\to\\directory" "OldText" "NewText" -i=true -g=false -cr=false -cm=true --exts=".go,.md"

Unix Systems

✅ ./`nsh` "path/to/directory" "OldText" "NewText" --ignore-config-dirs=true --work-globally=false -concurrent-run=false -case-matching=true --file-extensions=".go,.md"

Or for an installed tool:

✅ `nsh` "path/to/directory" "OldText" "NewText" -i=true -g=false -cr=false -cm=true --ext=".go,.md"

Advanced Options and Flexibility

nsh accommodates different user preferences with dual parameter formats (verbose and shorthand) and has a forgiving approach to typos and parameter variations. Its flexibility extends to accepting both ext and exts for specifying file extensions.

Future Enhancements