regular expression 小問題 - Linux

Susan avatar
By Susan
at 2016-06-01T12:59

Table of Contents

※ 引述《decken (HAHAHA~)》之銘言:
: 大家好,
: 有一份文件(https://goo.gl/2Vc3Ui):
: 146460673
: PING 10.0.0.6 (10.0.0.6): 56 data bytes
: 想要把146460673及56抓出來,
: 自己試過下列的regular expression:
: cat short_measurement_PING.txt | sed -r 's/([0-9]+).*PING.*([0-9]+) data bytes/\1 \2/g'
: cat short_measurement_PING.txt | sed -r 's/([0-9]+)$.*PING.*([0-9]+) data bytes/\1 \2/g'
: cat short_measurement_PING.txt | sed -r 's/^([0-9]+)$^.*PING.*([0-9]+) data bytes/\1 \2/g'
: 不過完全沒作用,
: 想請問大家有什麼建議嗎?
: 謝謝~

GNU sed only (應該)

sed -r '/^[0-9]+$/ N; s/([0-9]+)\n[^:]*: *([0-9]+).*/\1 \2/'

/^[0-9]+$/ N

^ 代表行開始, $ 代表行結束, N 會把下一行的資料抓進來
=> 符合單行僅有數字時把下一行資料抓進來,並加上 \n

=> 原本的 pattern space 為 146460673
現在變成 146460673\nPING 10.0.0.6 (10.0.0.6): 56 data bytes


s/([0-9]+)\n[^:]*: *([0-9]+).*/\1 \2/

這行為 extended regular expression

所以需要加 -r flag, 且括號不用加反斜線

因為用到 + operator 所以才需要 e-regex

+ 代表至少符合一個以上


--
dkchronos :招喚obov 04/16 19:23
cesar0909 :樓下obov04/16 19:42
SNGoMMX :樓下obov 04/16 21:50
y3k :上面好多obov 樓下繼續當obov 04/16 21:53
obov :恩 沒問題 繼續當obov04/16 22:20

--
Tags: Linux

All Comments

Zenobia avatar
By Zenobia
at 2016-06-04T06:42
招喚obov
Tristan Cohan avatar
By Tristan Cohan
at 2016-06-04T09:50
樓下obov
Hamiltion avatar
By Hamiltion
at 2016-06-05T10:14
樓下obov
James avatar
By James
at 2016-06-07T09:46
上面好多obov 樓下繼續當obov
Anthony avatar
By Anthony
at 2016-06-11T15:52
恩 沒問題 繼續當obov
Madame avatar
By Madame
at 2016-06-14T04:23
謝謝,成功了
Annie avatar
By Annie
at 2016-06-16T12:37
學到了一招,感謝!
Wallis avatar
By Wallis
at 2016-06-18T07:38
有RegExp版

vim 好用 plugin 分享

Edward Lewis avatar
By Edward Lewis
at 2016-05-30T12:00
各位大大好 小弟與朋友們最近開始搜集與整理好用的 vim plugin。 想說 Linux 版上應該會有許多大大用 vim, 因此,貼在此版分享,希望沒有不禮貌。:) 在此分享給大家,我們搜集的 plugins 及 vimscript。 https://github.com/18z/VIM-tips 各 ...

ntp pool

Leila avatar
By Leila
at 2016-05-29T17:36
一個月前在BS2發了篇文測試轉信功能,看來本板是不打算修轉信了... https://groups.google.com/forum/#!topic/tw.bbs.comp.linux/e-AuoxNAdz4 (事實上PTT就連轉信標頭亂碼的狀況也不處理,或許不轉信也是少點汙染) 回題.總之我要說的是,台灣 ...

Ubuntu Server 安裝好多問題 (15.10)

Delia avatar
By Delia
at 2016-05-29T17:15
跟這台Server纏鬥了快兩天了,重裝N次…來問問題了囧 硬體配置: http://goo.gl/4YZYLf RAM:配16GB 主機板:Intel DBS1200V3RPS (軟體RAID) 硬碟配置:4顆WD2004FBYZ SATA3 企業級硬碟,配置RAID5 本來要直接裝16.04(以下 ...

windows 真得很容易當機嗎?

Kumar avatar
By Kumar
at 2016-05-29T13:07
雖然和 linux 沒什麼關係……,但還是有點好奇。 因為我覺得問在 windows 板得不到我想要的答案。 或者說, linux 真得很不容易當機嗎? 許多 linux 推坑文開頭就是舉了幾個和 windows 的對比, 其中多包含一個 and#34;windows 容易當機and#34; 的事實。 我 ...

請推薦基礎快速入門的書

Catherine avatar
By Catherine
at 2016-05-29T12:34
我知道鳥哥的書很好,但太厚 我的需求是簡單快速基礎入門 至於深入的部分再循序漸進 請推薦書,謝謝 - ...