linc on 31 Aug 2010 09:41:16 -0700 |
Walt Mankowski wrote: On Tue, Aug 31, 2010 at 12:23:44PM -0400, linc wrote:Walt Mankowski wrote:On Tue, Aug 31, 2010 at 12:11:50PM -0400, linc wrote:Walt Mankowski wrote:On Tue, Aug 31, 2010 at 12:03:49PM -0400, linc wrote:DOH! Yeah, you are right. Have to use something like: sed 's/.CEL//' filename > newfile instead...That's still not quite right. You should escape the period and anchor the end of the string. This is better: sed 's/\.CEL$//' filename >newfileSeems to work fine without that??Try it on fooCELbar.CEL I mean, there's a good change that all the instances of CEL occur at the ends of the filenames, but why take a chance? WaltHEH! How about THIS one...: sed 's/\.CEL//g' filename > newfile Now I know why I hate sed :)Nope, still wrong. That will delete all the occurences of ".CEL" anywhere in the filename. Again, it will probably work, but it would fail on something like foo.CEL.bar.CEL The best way to match ".CEL" at the end of a string is how I did it in my example. First, you need to escape the ".", because otherwise it matches any character before CEL. Second, you need to add a $ to the end of the regex. That achors it to the end of the string, and prevents it from matching ".CEL" occuring anywhere else. I don't know why you decided to add a /g to the end of your expression. That causes sed to go a global replace all the occurences of the regex. Daniel said he only wanted to replace ".CEL" when it was at the end of the string. Walt Actually what he said was: "I have a file 1.7 million lines long.. It contains nothing but filenames with a .CEL extension.."That doesn't necessarily mean it's one filename per line right? Global seemed to be the best choice to "get 'em all" I guess.. :) -- -Linc Fessenden In the Beginning there was nothing, which exploded - Yeah right... ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug
|
|