楼主:
heyk1 (大熱天)
2013-02-22 17:06:47请问各位高手, perl 能否把本行(特定某一行) 移动加到上一行的最后面?
例如:
this is
a book
that is a chair
用 perl 改成 ==>
this is a book
that is a chair
作者: iFEELing (ing) 2013-02-23 09:55:00
你要移的是换行符号 不是行
楼主:
heyk1 (大熱天)
2013-02-23 16:40:00能请您只点一下如何修改? thanks.
作者:
gugod (å•Š)
2013-02-23 17:48:00把 \n 换成空白即可。 s/(this is)\n/$1 /;
楼主:
heyk1 (大熱天)
2013-02-24 11:27:00请问我目前只能寻找到关键字that, 然后再对那行处理打错..应是寻找关键字 book, 然后把有 book 那行往上一行移把 a book 附加在 this is 这上一行的最后面最后两行合并成同一行
作者:
dryman (dryman)
2013-02-24 16:01:00s/\n(a book)/ \1/m; 这样就行了
楼主:
heyk1 (大熱天)
2013-02-24 18:39:00不好意思~小弟是菜鸟,能否解释一下 \1/m 的意思? thanks!今天试了还是没法.因为要读一个档案, 然后跨行搜寻.但是用 while 处理, 一次只能处里一行, 无法跨行.请问有没有高手可以帮忙解答一下 Orz... thanks.
作者:
gugod (å•Š)
2013-02-27 06:18:00如果是用 <> 读档的话,可以先做 local $/ = undef;这样就会把整个档案读进一个字串