Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including greeklish-file-replace with all npm packages installed. Try it out:

var greeklishFileReplace = require("greeklish-file-replace")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

greeklish-file-replace v1.0.0

Search files for Greek characters and replace them with their greeklish equivalents.


npm package version Travis build status npm package downloads index.js file size code style license

Search files for Greek characters and replace them with their greeklish equivalents.


npm install [-g] [-S] greeklish-file-replace




The files parameter can accept an array of strings or a single comma-separated string that contains file paths or globs for the files you would like to do the replacements in.


// A single file path
files = 'path/to/a/file.txt'

// A single glob
files = 'path/to/files/**/*.txt'

// A comma-separated string with both a file path and a glob
files = 'files/replace.txt,files/**/*.js'

// An array of file paths and globs
files = [


The following options are all optional:

options = {

  // Character encoding for reading/writing files (defaults to utf-8)
  encoding: 'utf-8',

  // Files to replace (only used if `files` parameter is left blank)
  files: 'replace/**/files/*.txt',

  // Characters to ignore during the replacement process (defaults to blank)
  ignoreChars: ';',

  // Files to ignore (works the exact same as `files` parameter)
  ignoreFiles: '**/node_modules/**/*',

  // The directory to save the changed files to (original files will be overwritten if left blank) (defaults to blank)
  output: 'output_directory',

  // Text to add to the beginning of all replacements (defaults to blank)
  prefix: '_[',

  // Text to add to the end of all replacements (defaults to blank)
  suffix: ']_',

  // Set to true to silent all console output (only used in command line) (defaults to false)
  silent: true,

  // Set to true to find out what files are going to be changed without actually changing them (defaults to false)
  test: true,

  // Set to true to add an index number to the end of all repeated replacements or provide a string to use letters instead of numbers (defaults to false)
  unique: 'abcd'



Async Promises

const greeklishReplace = require('greeklish-file-replace')

greeklishReplace(files, options)
  .then(results => console.log(results))
  .catch(error => console.log(error))

Async Callbacks

const greeklishReplace = require('greeklish-file-replace')

greeklishReplace(files, options, (error, results) => {
  if (!error) {
  } else {

Sync Function

const greeklishReplace = require('greeklish-file-replace')

var results = greeklishReplace.sync(files, options, cb)

Sync Callback

The synchronous function accepts a function as an optional third parameter. This function will be called after every replacement with the file name and number of replacements made passed as parameters.


var results = greeklishReplace.sync(files, options, (file, changes) => {
  if (changes && !options.silent) {
    console.log('Made ' + changes + ' in ' + file)

Command Line

greeklish-file-replace files/to/replace/*.txt

Note: When using the files parameter in the command line, your system will take care of expanding your single star globs for us, however it probably won't expand double stars. To get around this, you can use the files option instead (eg. greeklish-files-replace --files=replace/**/*.*).


MIT. See the License file for more info.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free