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

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

Re: Interative batch query-replace question


From: Ke Lu
Subject: Re: Interative batch query-replace question
Date: Sat, 01 Dec 2007 18:11:57 +0900
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux)

Perhaps my explain is not quite enough.

I want to query-replace some files.(not filename)

1. Use find-dired to Find some files.(M-x find-dired)
In "*File" buffer,it looks like:
  /home/lu/workspace/:
  find . \( -name "*.java" \) -exec ls -ld \{\} \;
  -rw-r--r--  1 lu lu 215  1月 21  2003 ejbdemo/DemoEntity.java
  -rw-r--r--  1 lu lu 178  1月 21  2003 ejbdemo/DemoSession.java
  -rw-r--r--  1 lu lu 146  1月 21  2003 ejbdemo/DemoSessionLocal.java
  -rw-r--r--  1 lu lu 573  1月 21  2003 ejbdemo/DemoSessionEJB.java
  -rw-r--r--  1 lu lu 194  1月 21  2003 ejbdemo/DemoSessionHome.java
  
2. Mark some file in "*Find*" buffer
In "*File" buffer,it looks like:
  /home/lu/workspace/:
  find . \( -name "*.java" \) -exec ls -ld \{\} \;
  -rw-r--r--  1 lu lu 215  1月 21  2003 ejbdemo/DemoEntity.java
* -rw-r--r--  1 lu lu 178  1月 21  2003 ejbdemo/DemoSession.java
* -rw-r--r--  1 lu lu 146  1月 21  2003 ejbdemo/DemoSessionLocal.java
* -rw-r--r--  1 lu lu 573  1月 21  2003 ejbdemo/DemoSessionEJB.java
  -rw-r--r--  1 lu lu 194  1月 21  2003 ejbdemo/DemoSessionHome.java
* -rw-r--r--  1 lu lu 159  1月 21  2003 ejbdemo/DemoSessionLocalHome.java


3. call batch-query-replace-regexp.

>>  (defun batch-query-replace-regexp()
>>    (interactive)
>>      (switch-to-buffer "*Find*")
>>      (dired-do-query-replace-regexp "jp\\.co" "jp.co2")
>> ->can't reach here     (switch-to-buffer "*Find*")
>>       (dired-do-query-replace-regexp "java" "java2")
...a lot of pattern to query-replace-regexp
>>  )
>>
You can press "Q" key to dired-do-query-replace-regexp once.
But I have about 50 patterns to replace, do it one by one is
quite troublesome.  so I copy patterns from excel file
and write them to a function
(which named batch-query-replace-regexp above).
The problem is the function finished when first call
of dired-do-query-replace-regexp finish.

Doesn't you feel it is strange?

Andreas Röhler <address@hidden> writes:

> Am Samstag, 1. Dezember 2007 02:00 schrieb Ke Lu:
>> > Do want to change filenames in a directory or the contents of files in
>> > that directory?
>>
>> I don't want to change filenames.
>> I want to change contents of files in a directory.
>>
>
> So let's start with the first task:
>
> If you want to add a "2" at all endings in that directory,
>
> as  "jp.co" => "jp.co2" let's assume,
>
> you can perform this
>
> with
>
> M-x wdired-change-to-wdired-mode
>
> M-x query-replace-regexp $ RET 2 !
>
> If everything looks fine, do C-c C-c to write down your
> changing or quit (with C-c ESC or C-d).
>
> With quit nothing is changed.
>
> Andreas Röhler


reply via email to

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