[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: |
Fri, 12 Mar 2004 22:11:21 +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 "aaa" and "bbb".
I push "Q" and I use "^\(a+\)$" for regexp parameter and "\1\nXXX" for
substitue parameter, 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邮箱 全面保护! http://vip.163.com
中国最大的免费邮箱在等你 25兆空间4兆附件! http://mail.163.com
点击网易泡泡惊喜无限 全免费手机短信任你发! http://popo.163.com
- How to implement such a replace-regexp in interactive mode?,
Home_king <=