[NTLUG:Discuss] Quickest way to edit file?

MadHat Unspecific madhat at unspecific.com
Mon Jul 23 11:19:09 CDT 2007


Lance Simmons wrote:
> On 7/23/07, Fred James <fredjame at fredjame.cnc.net> wrote:
> 
>> For a single address ...
>> grep -v regex original_file > new_file
> 
> I've done something similar with sed a few times, but it still leaves
> the extra step of renaming new_file back to original_file.

Perl

  perl -pi -e 's/email\@address\n//' file

Not saying it is easier than vi, but it is a way of doing it in one 
command without haveing to rename files and such.

Details for those who care:

perl - the perl command
  -pi - use the file specified as if it were called in a while loop
        (see perlrun for details)
  -e  - execute the following code

   code is a simple regex
  s - substitute
    so if you have s/this/that/ would substitute 'this' with 'that'
    since we are dealing with an email and a @ has a special meaning in 
perl, we escape it with the \
   the \n at the end is a new line, so you would have to have the full 
address to do this properly.
   the fact that there is nothing in the second section of the 
substitution mean we don't replace it with anything, or we replace it 
with nothing, or what ever I mean...

   yes there are other ways of doing this with the same command just 
changing the perl code.

I need more caffeine

-- 
MadHat (at) Unspecific.com, C²ISSP
E786 7B30 7534 DCC2 94D5  91DE E922 0B21 9DDC 3E98
gpg --keyserver wwwkeys.us.pgp.net --recv-keys 9DDC3E98



More information about the Discuss mailing list