簡體   English   中英

使用Linux從文本文件中提取數據

[英]extract data from text file with linux

我有文件,需要提取一些數據。 我面臨的問題是有些線與其他線幾乎不一樣。 這是示例:

 action=accept trandisp=noop srcip=1.1.1.1 dstip=2.2.2.2 service=PING proto=1 duration=61 
 action=accept trandisp=noop srcip=1.1.1.1 dstip=3.3.3.3 dstport=80 service=http proto=1 duration=61

我想在第一行中獲得帶有服務的目標IP,在第二行中得到帶有dstport和服務的目標IP。

我是Linux的新手,我使用grep進行了嘗試,並進行了剪切,但是它對我不起作用。 請幫助我解釋您的答案。

這個如何?
grep -o -P "dstip=[0-9.]+ (dstport=[0-9]+)? service=\\w+ (dstport=[0-9]+)?" your-file

說明:

-o, --only-matching       show only the part of a line matching PATTERN
-P, --perl-regexp         PATTERN is a Perl regular expression

當然,鍵值順序很重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM