On Wed, May 04, 2016 at 10:42:20AM -0700, Samuel Sieb wrote: > On 05/04/2016 10:09 AM, Jon LaBadie wrote: > > The '*' means "zero or more digits". Don't forget that zero. > > The first match is where there are zero digits, i.e. at the > > beginning of the line. So sed replaces it with "//" (nothing). > > > However, usually regexps are greedy so they match as much as possible, not > the minimum. And somehow it does work when you use /g so it is matching > more. > > > Try sed 's/[0-9]*/X/' to confirm. > > > > You really want sed 's/[0-9][0-9]*//' which reads a digit > > followed by zero or more additional digits. > > > Or use + as has been mentioned elsewhere in this thread. Traditionally sed has used basic RE syntax not the extended syntax that includes "+". If the OP uses a sed such as exists on my systems, you can get extended RE syntax with the "-r" option. sed -r 's/[0-9]+//' Samuel, does your sed support extended REs by default? If so, what system has that version? jl -- Jon H. LaBadie jonfu@xxxxxxxxxx -- users mailing list users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe or change subscription options: http://lists.fedoraproject.org/admin/lists/users@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines Have a question? Ask away: http://ask.fedoraproject.org