Skip to content
/ subtxt Public

A simple text conversion utility using regular expressions for searching and replacing multiple strings across multiple files, e.g. for migration projects.

Notifications You must be signed in to change notification settings

DocOps/subtxt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Subtxt

A simple find-and-replace tool using regular expressions to match and manipulate strings of text across multiple files. This is a quick-and-dirty, multi-procedure, directory-wide file rewriter. Subtxt takes a directory to process and a set of patterns to find and replace.

Quickstart

Note
This utility requires Ruby runtime, which comes installed on Macs and most Linux distributions but requires a download and some legwork for Windows.

To install, run:

gem install subtxt

To use: subtxt -s path/to/files -p patterns.txt, where patterns.txt is any file with any extension containing patterns in the following format:

find pattern
replace pattern

(pattern|string|content)-(to)-(find)
\1 \2 replace

delete this text


regular expression pattern
tokenized substitute output

(Some text that needs) (to be split onto 2 lines)
\1\n\2

EOF

For each pair of strings, the first becomes the search pattern and the second becomes the replace pattern. Follow each pair with a blank line. To delete matched patterns, simply replace with nothing by providing a blank line. End the file with EOF on its own line.

See subtxt --help for more.

Including Subtxt into a Ruby Application

Add this line to your application’s Gemfile:

gem 'subtxt'

And then execute:

bundle

Or install it yourself as:

gem install subtxt

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/DocOps/subtxt. This project is intended to be a safe, welcoming space for collaboration. See Code of Conduct.

Code of Conduct

Everyone interacting in the Subtxt project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

About

A simple text conversion utility using regular expressions for searching and replacing multiple strings across multiple files, e.g. for migration projects.

Resources

Stars

Watchers

Forks

Packages

No packages published