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

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

Re: Search and replace for a single file using a pattern file


From: Rusi
Subject: Re: Search and replace for a single file using a pattern file
Date: Thu, 4 Jan 2018 08:54:29 -0800 (PST)
User-agent: G2/1.0

On Thursday, January 4, 2018 at 8:36:01 PM UTC+5:30, Rusi wrote:
> On Thursday, January 4, 2018 at 3:32:32 PM UTC+5:30, Angus Comber wrote:
> > I have some horrible logs where integers are printed for states and I want 
> > to do a global search and replace on the file to eg replace integer x with 
> > a string.
> > 
> > I can obviously do individually using c-m-% but that is fairly laborious.  
> > So use of a search and replace mapping in a text file would be really 
> > convenient.
> > 
> > Is this possible?  any suggestions?
> 
> I'd combine Tomás Robert's solutions:
> 
> (defvar my-codes
>     '((1 . bread)
>       (2 . cheese)
>       (3 . wine))) 
> 
> (defun replace-all ()
>   (interactive)
>   (dolist (x my-codes)
>     (replace-string (number-to-string (car x))
>                   (symbol-name (cdr x)))))
> 
> After which M-x replace-all
> should do it

Probably I should say that sed is the way to do this more than emacs/elisp

$ cat sedsc
s/1/bread/
s/2/cheese/
s/3/wine/

$ cat txt.txt
  1 was my first meal
  2 came after that and
  3 to rinse it all 

$ sed -f sedsc txt.txt
  bread was my first meal
  cheese came after that and
  wine to rinse it all 


reply via email to

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