Stream editor for filtering and transforming text in ruby.
linux manual

Basic Usage

host = Kanrisuru::Remote::Host.new(host: '', username: 'ubuntu', keys: ['~/.ssh/id_rsa'])
host.echo("Hello world, this is a Cat file.\nCat\nCat\nDog", new_file: '~/text', mode: 'write')

result = host.sed('~/text', 'Cat', 'Dog')

"Hello world, this is a Dog file.\nDog\nDog\nDog"


Field Type Description
path string
Required location of file to perform find and replace on
expression string
Required expression to filter in the file
replacement string
Required replacement to transform in the output stream
in_place boolean
Edits the file in place
regexp_extended boolean
Use extended regular expressions in the script
mode string
Can be either append or write options. Determines how content is saved into a file.
new_file string
The name of the newfile to write the content to


Either returns an array of the substituted file lines, or a nil value if a file is being written to.

Exit Status

Code Description
0 Success
1 Failure

Tested On

  • Ubuntu, Debian, Centos, Fedora, Redhat, OpenSuse, SLES