newbie: use <CR> in RE?

Scott W wegster at mindcore.net
Sat Nov 22 07:44:35 PST 2003


Jerry McAllister wrote:

>>Hello. Just want to know how to use special character in Regular Expression.
>>
>>I wish to remove all the carrier returns from a text file, I can use:
>>tr -d "\r" < text_file > modified_text_file
>>But if I do:
>>sed -i s/\r//g text_file
>>it actually removes all the character "r" from the file.
>>
>>This is also a problem in vi(1). Besides <CR> I wish to manipulate 
>>tabstops and line-feeds with RE too.
>>    
>>
>
>So why not just use tr?      \t should get tabs, as you noted \r gets CRs
>I don't know linefeed off hand, but wouldn't be surprised if it was \l.
>It follows the usual conventions.
>
>There are more things besides -d that you can do with tr also.
>
>////jerry
>  
>
>_______________________________________________
>freebsd-questions at freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>
>  
>
You can do what you want in vi or sed, you just need to escape the first 
escape character, eg
sed -i s/\\r//g
vi:
:/s/\\r//g

Note that with your tr string, you're already 'wrapping' the backslash-r 
in double quotes, thereby avoiding shell expansion..

You can also use the dos2unix command, although I don't see it in ports...

Scott




More information about the freebsd-questions mailing list