[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