Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
105 lines (85 sloc) 3.68 KB

Find and Replace Action

GitHub Marketplace Actions Status Actions Status

This action will find and replace strings in your project files.

Usage

Example workflow

This example replaces hello with world in all of your project files.

name: My Workflow
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Find and Replace
      uses: jacobtomlinson/gha-find-replace@master
      with:
        find: "hello"
        replace: "world"

Inputs

Input Description
find A string to find and replace in your project files. (This can be a regular expression)
replace The string to replace it with.
include (optional) A regular expression of files to include. Defaults to .*.
exclude (optional) A regular expression of files to exclude. Defaults to .git/.

Outputs

Output Description
modifiedFiles The number of files that have been modified

Examples

Including a subdirectory

You can limit your find and replace to a directory.

name: My Workflow
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Find and Replace
      uses: jacobtomlinson/gha-find-replace@master
      with:
        find: "hello"
        replace: "world"
        include: "justthisdirectory/"

Filter by file name

You can limit your find and replace to just files with a specific name.

name: My Workflow
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Find and Replace
      uses: jacobtomlinson/gha-find-replace@master
      with:
        find: "hello"
        replace: "world"
        include: "README.md"  # Will match all README.md files in any nested directory

Exclude by file type

You can set your find and replace to ignore certain file types.

name: My Workflow
on: [push, pull_request]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: Find and Replace
      uses: jacobtomlinson/gha-find-replace@master
      with:
        find: "hello"
        replace: "world"
        exclude: "*.py"  # Do not modify Python files
You can’t perform that action at this time.