[Toybox] [patch] grep: add -b flag
Strake
strake888 at gmail.com
Wed Jul 24 15:53:43 PDT 2013
# HG changeset patch
# User Strake
# Date 1055085317 18000
# Node ID 7fd031a672f6f6835373b75d0987a61da2c8d3bc
# Parent 50b52474ea9f8fb3b016e1bc3e41780f8d943c0e
grep: add -b flag
diff -r 50b52474ea9f -r 7fd031a672f6 toys/pending/grep.c
--- a/toys/pending/grep.c Sun Jun 08 10:09:05 2003 -0500
+++ b/toys/pending/grep.c Sun Jun 08 10:15:17 2003 -0500
@@ -5,13 +5,13 @@
* See http://pubs.opengroup.org/onlinepubs/9699919799/utilities/
* See http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/cmdbehav.html
-USE_GREP(NEWTOY(grep, "EFHahinosvwclqe*f*m#", TOYFLAG_BIN))
+USE_GREP(NEWTOY(grep, "EFHabhinosvwclqe*f*m#", TOYFLAG_BIN))
config GREP
bool "grep"
default n
help
- usage: grep [-clq] [-EFHhinosvw] (-e RE | -f REfile | RE) [file...]
+ usage: grep [-clq] [-EFHbhinosvw] (-e RE | -f REfile | RE) [file...]
modes:
default: print lines from each file what match regular expression RE.
@@ -23,6 +23,7 @@
-E: extended RE syntax
-F: fixed RE syntax, i.e. all characters literal
-H: print file name
+ -b: print byte offset of match
-h: not print file name
-i: case insensitive
-n: print line numbers
@@ -73,6 +74,8 @@
default:
if (!(toys.optflags & FLAG_h)) printf ("%s:", name);
if ( (toys.optflags & FLAG_n)) printf ("%d:", n);
+ if ( (toys.optflags & FLAG_b)) printf ("%ld:", lseek (0, 0,
SEEK_CUR) - strlen (y) +
+ (toys.optflags
& FLAG_o ? matches[2].rm_so : 0));
if (!(toys.optflags & FLAG_o)) fputs (x, stdout);
else {
y += matches[2].rm_so;
More information about the Toybox
mailing list