PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Linux
[問題] 這樣的資料要怎麼樣用awk處理
作者:
xyzman
(.........)
2015-04-13 19:40:48
資料格式:
Dog:12345
Cat:67890
Fish:13579
Dog:abcde
Cat:fghijk
Fish:lmnop
......
......
我需要將資料重組成
(12345,67890,13579)
(abcde,fghijk,lmnop)
我的想法是將每個區塊資料
match關鍵字(dog/cat/fish)並以:為分隔符號,取欄位2存入變數1
其他以此類推,最後再用print重組字串
但怎麼測試都無法成功,請問這樣的方向正確嗎?
還是有其他方法?
作者:
cybelia
(@@)
2015-04-13 21:38:00
取欄位2存入變數1是蝦米@@?
作者: nullspace
2015-04-13 21:55:00
差不多是這樣,如果資料出現順序一定是dog,cat,fish的話awk -F : '{n[$1]=$2}/^Fish/{print "("n["Dog"]","n["Cat"]","n["Fish"]")"}' xxx.txt如果是dog/cat/fish夾雜的話就多加一些檢查
作者:
xyzman
(.........)
2015-04-13 22:18:00
太強了!真的是我要的格式,看了許久完全看不懂為什麼!!
作者: nullspace
2015-04-13 22:33:00
awk的陣列是關聯式陣列,可以用字串當index用:當分隔符號,n陣列索引$1的值設為字串$2如果資料出現順序固定為狗貓魚的話,遇到魚就把值印出
作者:
xyzman
(.........)
2015-04-13 22:54:00
非常感謝你的幫忙跟講解,這樣就清楚這個用法了!
作者:
lc85301
(pomelocandy)
2015-04-15 11:00:00
我遇到這個大概會用python 處理=w=
繼續閱讀
[心得] youtube html5 1080p的firefox設定
Adama
[問題] suse studio 製作開機usb
ireullin
[新聞] Linux 4.0低調大改版,核心更新從此免開
Kitakami
[問題] Raspberry Pi 2 Type B SD卡的複製方法
togepy
[問題] fdisk 時出現錯誤
adeliu
[問題] linux 編譯核心問題
westron
Fw: [請問] linux vlc等播放器撥影片分成一半
newwords
Re: [問題] 編譯完舊版kernel重開機一片黑
ComputerGod
[問題] 高階顯卡效能可以全開?
a07051226
[問題] 請問有辦法紀錄讀取檔案的帳號和IP嗎?
LIAR
Links
booklink
Contact Us: admin [ a t ] ucptt.com