[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 <andreas.roehler@online.de> 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