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

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

How to implement such a replace-regexp in interactive mode?


From: Home_king
Subject: How to implement such a replace-regexp in interactive mode?
Date: Sat, 13 Mar 2004 14:55:08 +0800 (CST)

In Dired mode, to modify marked files according to a specified regular 
expression, as known, push "Q" after you marked them. 
However, I find I can't use "\\1" to quote strings between "\\(" and "\\)" (By 
the way, strangely, it seems that I must use "\(" and "\)" instead in such "Q" 
interactive query mode). 
For example, some files has below style:
---------------------------------------
...
aaa
bbb
ccc
... 
---------------------------------------
And I want to add a line "XXX" between "bbb" and "bbb". 
I use "^\(a+\)$" for regexp and "\1\nXXX$" for substitue string, but it fails 
...

On the other hand, I succedd using my perl script:
-----------------------------------------
#!/usr/bin/perl
($#ARGV <= 0) || print "Your must input filename to process!\n";
open OBJFILE, "$ARGV[0]" or die "$!";
open TMPFILE, ">_tmpfile"; 
while (<OBJFILE>) {
    s/^(bbb$)/$1\nXXX/g;
    select TMPFILE;
    print;
}
`mv -f _tmpfile $ARGV[0] && rm -f _tmpfile`;
-----------------------------------------

Help!


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
网易VIP收费邮箱两周年超值优惠! 满1赠6!!           http://vip.163.com

中国最大的免费邮箱在等你 25兆空间4兆附件!      http://mail.163.com

点击网易泡泡惊喜无限 全免费手机短信任你发!      http://popo.163.com

reply via email to

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