From 46f2e4efeb2da93a2607fe020ed238b49c34cb96 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sat, 2 Oct 1999 11:46:53 +0000 Subject: another example for tr -- illustrating problems with `-' in ranges.. --- doc/textutils.texi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/textutils.texi b/doc/textutils.texi index 16dd7d5a4..b424302ec 100644 --- a/doc/textutils.texi +++ b/doc/textutils.texi @@ -3640,14 +3640,14 @@ to remove all @samp{a}s, @samp{x}s, and @samp{M}s you would do this: tr -d axM @end example -However, when @samp{-} is one of those characters, it can be tricky -because @samp{-} has special meanings. -Performing the same task as above example but also +However, when @samp{-} is one of those characters, it can be tricky because +@samp{-} has special meanings. Performing the same task as above but also removing all @samp{-} characters, we might try @code{tr -d -axM}, but that would fail because @code{tr} would try to interpret @samp{-a} as a command-line option. Alternatively, we could try putting the hyphen inside the string, @code{tr -d a-xM}, but that wouldn't work either because -it'd make @code{tr} remove all characters in the range @samp{a}@dots{}@samp{x}. +it would make @code{tr} interpret @code{a-x} as the range of characters +@samp{a}@dots{}@samp{x} rather than the three. One way to solve the problem is to put the hyphen at the end of the list of characters: @@ -3656,7 +3656,7 @@ tr -d axM- @end example More generally, use the character class notation @code{[=c=]} -where you'd put @samp{-} (or any other character) in place of the @samp{c}: +with @samp{-} (or any other character) in place of the @samp{c}: @example tr -d '[=-=]axM' -- cgit v1.2.3-54-g00ecf