作者jacobliu (DDDDD)
看板Perl
标题[问题] 资料处理
时间Wed Apr 17 10:56:55 2013
目前有一笔资料格式为
.AAAAA U98D
A1 B1 C1 /
ZZ
UUUU 333
.AAAAA T86S
A1 B /
Z
TTTT 222
.AAAAA 7UUSA
A B C D /
DD FF
DDDD 111
我想把资料中黄色跟紫色资料的位置对调後输出
请问要如何做到?
有上网google了很多关键字,但是对perl只了解皮毛,很难改写出我要的需求
初步的概念是只处理有.AAAAA的行,该行的前第二个空格到/间存成第一笔资料
该行的/到结尾存成第二笔,然後两笔资料交换後输出档案
麻烦大家解答了,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.111.135
1F:→ scwg:-ln print"$2 $1"if m#^\.AAAAA\s+\S+\s+([^/]+)/\s+(.+)$# 04/17 11:16
谢谢您的解答:
有些地方看不太懂,还请您不吝指教
-ln <--不太懂是要结合什麽指令来用
print"$2 $1" 印出$2 $1
if m# # 符合##里的条件,想请问#不是都是用来当注解,这边为何是用#?
^.AAAAA 行首为.AAAAA
\s+ 符合一个以上的空白键
\S+ 符合一个以上的非空白键
([^/]+) 符合一个没有/的字串并存到$1
(.+)$ 结尾前的字串并存到$2
有错请指正,麻烦您了,谢谢
※ 编辑: jacobliu 来自: 60.248.111.135 (04/17 14:36)