From f2e60f044e16633ad3b180839a1d401e7c1d5140 Mon Sep 17 00:00:00 2001 From: Edward Vielmetti Date: Thu, 24 Jan 2013 00:39:02 -0500 Subject: [PATCH 1/3] Update README.md Document line length, symlink limitations --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0bb2a07..cdecb42 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # replace -`replace` is a command line utility for performing search-and-replace on files. It's similar to sed but there are a few differences: +`replace` is a command line utility for performing in place search-and-replace on files. It's similar to sed but there are a few differences: * Modifies files when matches are found * Recursive search on directories with -r @@ -78,7 +78,13 @@ By default, `replace` and `search` will exclude files (binaries, images, etc) th ### On huge directories If `replace` is taking too long on a large directory, try turning on the quiet flag with `-q`, only including the necessary file types with `--include` or limiting the lines shown in a preview with `-n`. +## Limitations +### Line length +By default, `replace` works on files with lines of 400 characters or less. If you need to work on long lines, gnu `sed` supports unlimited line length. + +### Symbolic links +By default, `replace` does not traverse symbolic links for files in directories. ## What it looks like ![replace](http://i.imgur.com/qmJjS.png) From 90e3d2fe814a81c220318e4cba20730f5853f661 Mon Sep 17 00:00:00 2001 From: Edward Vielmetti Date: Wed, 23 Jan 2013 21:44:25 -0800 Subject: [PATCH 2/3] Create longline.txt Longline.txt is intended as a test file to validate correctness when lines are longer than a minimum length. --- test/a/longline.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 test/a/longline.txt diff --git a/test/a/longline.txt b/test/a/longline.txt new file mode 100644 index 0000000..11b99fc --- /dev/null +++ b/test/a/longline.txt @@ -0,0 +1,19 @@ +This file has several long lines. +64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms +64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms +64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms +64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms +64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms +64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms 64 bytes from 8.8.8.8: icmp_seq=4760 ttl=47 time=36.730 ms + + + + + + + + + + + + From f5e936e8812efa06567c3f07dcffe96573aa5a3e Mon Sep 17 00:00:00 2001 From: Edward Vielmetti Date: Thu, 24 Jan 2013 00:49:58 -0500 Subject: [PATCH 3/3] Add line length warning in comments, Add a warning about the "chars per line" limit; I can't tell from a first read of the code if the replace has a limit or not in practice. --- replace.js | 1 + 1 file changed, 1 insertion(+) diff --git a/replace.js b/replace.js index d1e9599..5467689 100644 --- a/replace.js +++ b/replace.js @@ -10,6 +10,7 @@ module.exports = function(opts) { replaceFunc, lineCount = 0, limit = 400, // chars per line + // XXX The posix standard specifies that conforming sed implementations shall support at least 8192 byte line lengths. options; options = opts;