[問題] 資料處理

看板Perl作者 (DDDDD)時間12年前 (2013/04/17 10:56), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/4 (看更多)
目前有一筆資料格式為 .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

04/17 11:16, , 1F
-ln print"$2 $1"if m#^\.AAAAA\s+\S+\s+([^/]+)/\s+(.+)$#
04/17 11:16, 1F
謝謝您的解答: 有些地方看不太懂,還請您不吝指教 -ln <--不太懂是要結合什麼指令來用 print"$2 $1" 印出$2 $1 if m# # 符合##裡的條件,想請問#不是都是用來當註解,這邊為何是用#? ^.AAAAA 行首為.AAAAA \s+ 符合一個以上的空白鍵 \S+ 符合一個以上的非空白鍵 ([^/]+) 符合一個沒有/的字串並存到$1 (.+)$ 結尾前的字串並存到$2 有錯請指正,麻煩您了,謝謝 ※ 編輯: jacobliu 來自: 60.248.111.135 (04/17 14:36)
文章代碼(AID): #1HRWzxXF (Perl)
討論串 (同標題文章)
文章代碼(AID): #1HRWzxXF (Perl)