help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Easy for Some


From: Anselm Helbig
Subject: Re: Easy for Some
Date: Tue, 05 Jan 2010 11:01:31 +0100

Hi!

> I'm not coder but i needed to extract some information from a text file and
> some one pointed me in this direction. 
> 
> I have a file like this, could have up to a 1000 keyframes.:
> 
> 
> 
> Effects   Sound Keys #1   Output 1 #22
>    Frame
>    0   0.17489
>    1   0.261281
>    2   0.361762
>    3   0.400085
>    4   0.411538
>    5   0.434799
>    6   0.41712
>    7   0.422151
>    8   0.43181
>    9   0.411811
> 
> Just to clarify the spacings: (     0       0.17489    )
> Just to clarify the spacings: (tab0tab 0.17489 tab)
> 
> and i want to be left with just the raw values like this:
> 
> 
> 0.17489
> 0.261281
> 0.361762
> 0.400085
> 0.411538
> 0.434799
> 0.41712
> 0.422151
> 0.43181
> 0.411811
> 
> 
> I am a complete newbie, i downloaded aquamacs emacs yesterday, tried to use
> replace string as a guess...?? no joy. Dont have anyone to ask, any help is
> greatly appreciated.

There are three obvious ways to achieve this: 

1. use regular expressions

   if it is sufficient to get rid of the leading whitespace and number:

     M-x query-replace-regexp RET ^\s-*[0-9]+\s-* RET RET

   If you need to get rid of trailing whitespace as well:

     M-x query-replace-regexp RET ^\s-*[0-9]+\s-*\([.0-9]+\)\s-*$ RET \1 RET

   Don't be afraid, regular expressions are easier to write than to
   read. Regular expressions are the tool of choice if you want to
   touch only lines matching a pattern.

2. with keyboard macros

   Go to start of the first line, press `C-x (' to start your keyboard
   macro and do whatever you need to clean up one line and go to the
   start of the next line, end your keyboard macro with `C-x )'. 
   Repeat your keyboard macro by giving a big prefix to C-x e,
   e.g. `C-u 1000 C-x e'. It will stop when it reaches the end of the
   file. 

   Keyboard macros are superior if you need to do some more complex
   manipulations on your text, but they can easily break unless your
   text structure is very rigid. They can also be a bit slow if you
   need to go through a big file. Also, of course, it's easy to
   understand how a keyboard macro works than to grok regular
   expressions. 

3. use rectangle functions

   place your cursor at the start of the first line and set the mark
   with `C-SPACE'. Go to the end of the file on the last line so that
   the cursor (`point' in emacs lingo) is on the first column you want
   to keep. Delete the rectangular portion of the buffer with 
   `C-x r k'.

HTH, 

Anselm


-- 
Anselm Helbig - http://mnemonikk.org/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]