Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >从日志文件中提取单词

从日志文件中提取单词
EN

Stack Overflow用户
提问于 2018-06-15 18:58:02
回答 3查看 152关注 0票数 0

我正在尝试从日志文件中提取作业id,而我在bash中提取它们时遇到了困难。我试过用苏打水。

我的日志文件是这样的:

代码语言:javascript
代码运行次数:0
复制
> 2018-06-16 02:39:39,331 INFO  org.apache.flink.client.cli.CliFrontend 
> - Running 'list' command.
> 2018-06-16 02:39:39,641 INFO  org.apache.flink.runtime.rest.RestClient                      
> - Rest client endpoint started.
> 2018-06-16 02:39:39,741 INFO  org.apache.flink.client.cli.CliFrontend                       
> - Waiting for response...
>  Waiting for response...
> 2018-06-16 02:39:39,953 INFO  org.apache.flink.client.cli.CliFrontend                       
> - Successfully retrieved list of jobs
> ------------------ Running/Restarting Jobs -------------------
> 15.06.2018 18:49:44 : 1280dfd7b1de4c74cacf9515f371844b : jETTY HTTP Server -> servlet with content decompress -> pull from
> collections -> CSV to Avro encode -> Kafka publish (RUNNING)
> 16.06.2018 02:37:07 : aa7a691fa6c3f1ad619b6c0c4425ba1e : jETTY HTTP Server -> servlet with content decompress -> pull from
> collections -> CSV to Avro encode ->  Kafka publish (RUNNING)
> --------------------------------------------------------------
> 2018-06-16 02:39:39,956 INFO  org.apache.flink.runtime.rest.RestClient                      
> - Shutting down rest endpoint.
> 2018-06-16 02:39:39,957 INFO  org.apache.flink.runtime.rest.RestClient                      
> - Rest endpoint shutdown complete.

我使用以下代码提取包含jobId的行:

代码语言:javascript
代码运行次数:0
复制
extractRestResponse=`cat logFile.txt`
echo "extractRestResponse: "$extractRestResponse

w1="------------------ Running/Restarting Jobs -------------------"
w2="--------------------------------------------------------------"
extractRunningJobs="sed -e 's/.*'"$w1"'\(.*\)'"$w2"'.*/\1/' <<< $extractRestResponse"
runningJobs=`eval $extractRunningJobs`
echo "running jobs :"$runningJobs

然而,这并没有给我任何结果。我还注意到,当我打印extractRestResponse变量时,所有换行符都丢失了。

我也尝试使用这个命令,但它没有给出任何结果:

代码语言:javascript
代码运行次数:0
复制
extractRestResponse="sed -n '/"$w1"/,/"$w2"/{//!p}' logFile.txt"
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-15 19:31:26

使用sed:

代码语言:javascript
代码运行次数:0
复制
sed -n '/^-* Running\/Restarting Jobs -*/,/^--*/{//!p;}' logFile.txt

解释:

  • 在应用命令之后,输入行默认回显到标准输出。-n标志将取消此行为。
  • /^-* Running\/Restarting Jobs -*/,/^--*/:匹配从^-* Running\/Restarting Jobs -*^--*的行(包括)
  • //!p;:打印行,但与地址匹配的行除外
票数 1
EN

Stack Overflow用户

发布于 2018-06-15 19:16:01

awk去营救!

代码语言:javascript
代码运行次数:0
复制
awk '/^-+$/{f=0} f; /^-+ Running\/Restarting Jobs -+$/{f=1}' logfile
票数 1
EN

Stack Overflow用户

发布于 2018-06-15 19:55:11

您可以改进您的原始替代:

代码语言:javascript
代码运行次数:0
复制
sed -e 's/.*'"$w1"'\(.*\)'"$w2"'.*/\1/' <<< $extractRestResponse

通过使用@作为分隔符:

代码语言:javascript
代码运行次数:0
复制
sed -n "s@.*$w1\(.*\)$w2.*@\1@p" <<< $extractRestResponse

输出是$w1$w2之间的文本。

代码语言:javascript
代码运行次数:0
复制
> 15.06.2018 18:49:44 : 1280dfd7b1de4c74cacf9515f371844b : jETTY HTTP Server -> servlet with content decompress -> pull from > collections -> CSV to Avro encode -> Kafka publish (RUNNING) > 16.06.2018 02:37:07 : aa7a691fa6c3f1ad619b6c0c4425ba1e : jETTY HTTP Server -> servlet with content decompress -> pull from > collections -> CSV to Avro encode -> Kafka publish (RUNNING) >
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50884589

复制
相关文章
python从日志文件中提取出现的ip
#coding:utf-8 ''' Created on 2015年4月13日 @author: Administrator ''' fp = open('rootaccess.07log','r') total_count = 0 ip_array = {} for eachLine in fp: ip = eachLine.split(" ")[0] if ip_array.has_key(ip): ip_array[ip] = ip_array[ip] + 1
tanmx
2018/05/25
1.3K0
从ceph对象中提取RBD中的指定文件
之前有个想法,是不是有办法找到rbd中的文件与对象的关系,想了很久但是一直觉得文件系统比较复杂,在fs 层的东西对ceph来说是透明的,并且对象大小是4M,而文件很小,可能在fs层进行了合并,应该很难找到对应关系,最近看到小胖有提出这个问题,那么就再次尝试了,现在就是把这个实现方法记录下来 这个提取的作用个人觉得最大的好处就是一个rbd设备,在文件系统层被破坏以后,还能够从rbd提取出文件,我们知道很多情况下设备的文件系统一旦破坏,无法挂载,数据也就无法读取,而如果能从rbd中提取出文件,这就是保证了即使文件系统损坏的情况下,数据至少不丢失
用户2772802
2018/08/06
4.9K0
如何从 Debian 系统中的 DEB 包中提取文件?
DEB 包是 Debian 系统中常见的软件包格式,用于安装和管理软件。有时候,您可能需要从 DEB 包中提取特定的文件,以便查看其内容、修改或进行其他操作。本文将详细介绍如何从 Debian 系统中的 DEB 包中提取文件,并提供相应的示例。
网络技术联盟站
2023/06/08
3.5K0
如何从 Debian 系统中的 DEB 包中提取文件?
Redo 日志从产生到写入日志文件
对于这样的剧情,想必大家不会陌生:美国大片中拯救世界的英雄,平时看起来跟普通人没啥区别,甚至还可能会有点让人看不上。
csch
2022/09/05
4620
Redo 日志从产生到写入日志文件
2021-10-13:单词接龙。字典 wordList 中从单词 beginWor
2021-10-13:单词接龙。字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列:序列中第一个单词是 beginWord 。序列中最后一个单词是 endWord 。每次转换只能改变一个字母。转换过程中的中间单词必须是字典 wordList 中的单词。给你两个单词 beginWord 和 endWord 和一个字典 wordList ,找到从 beginWord 到 endWord 的 最短转换序列 中的 单词数目 。如果不存在这样的转换序列,返回 0。力扣127。
福大大架构师每日一题
2021/10/13
6390
fastq-dump从SRA文件中提取fastq文件
fastq-dump是SRAtoolkit中使用频率很高的命令,用于从SRA文件中拆解提取fastq文件。具体用法如下:
戈贝尔光和热
2018/12/27
8.8K0
Linux下从PDF文件中提取图片
PDF 其实本质上是一个文件包,比如某些 PDF 文件中有插图,这些插图都包含在这个 PDF 文件包中。Linux 下可以使用 pdfimages 命令来从 PDF 文件中提取图片文件。如果你的 Linux 发行版上没有该命令,需要安装 poppler-utils 软件。pdfimages 命令的语法格式如下:
hotarugali
2022/02/28
2.6K0
使用Python从PDF文件中提取数据
数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据。然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了解如何从pdf文件中提取数据,并将数据转换为诸如“csv”之类的格式,以便用于分析或构建模型。
HuangWeiAI
2020/07/27
4K0
使用Python从PDF文件中提取数据
linux下提取日志文件中的某一行JSON数据中的指定Key
今天在定位问题时,通过日志打印出来调用第三方接口的返回结果对象的值,但因为这个返回信息太多,导致日志打印时对应的这行日志翻了四五屏才结束,这种情况下不好复制粘贴出来去具体分析返回结果对象,主要是我们需要针对返回的json对象提取对应的key去进行分析查询。
翎野君
2023/05/12
5.3K0
从 PE 文件资源表中提取文件的版本信息
前段时间需要实现对 Windows PE 文件版本信息的提取,如文件说明、文件版本、产品名称、版权、原始文件名等信息。获取这些信息在 Windows 下当然有一系列的 API 函数供调用,简单方便。但是当需要在 Linux 操作系统平台下提取 PE 文件的版本信息数据时,就需要自己对 PE 文件的结构进行手动解析。
稻草小刀
2022/12/12
3.3K0
从 PE 文件资源表中提取文件的版本信息
python 统计文件中单词出现的频率
index = {} with open(sys.argv[1], encoding='utf-8') as fp: for line_no, line in enumerate(fp, 1): for match in WORD_RE.finditer(line): word = match.group() column_no = match.start()+1 location = (line_no, column_no) # this is ugly; coded like this to make a point occurrences = index.get(word, []) # <1> occurrences.append(location) # <2> index[word] = occurrences # <3>
用户5760343
2019/07/31
1.9K0
如何从Docker镜像中提取恶意文件
首先,需要从镜像运行启动一个容器,然后,使用docker cp命令从容器中提取文件到宿主机。
Bypass
2023/09/12
3170
如何从Docker镜像中提取恶意文件
从pdb文件中提取蛋白质序列
https://swift.cmbi.umcn.nl/servers/html/soupir.html
用户1359560
2020/09/08
3.9K0
从pdb文件中提取蛋白质序列
将Error异常日志从普通日志中剥离
  开发过程中经常需要调试和线上环境查看异常日志的需求,但普通消息与异常消息混在一起实在是非常难得找,上则NM的文档够你头痛,所以就将Error级别的日志抽离出来。   本示例采用log4net来配置:   1、先配置web.config,添加: <configSections> <!-- 添加log4net配置节 --> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4n
欢醉
2018/01/22
7500
将Error异常日志从普通日志中剥离
python:如何从 URL 中快速提取域名?
有时候,我们要从一段很长的 URL 里面提取出域名。例如从https://www.kingname.info/2020/10/02/copy-from-ssh/,我需要获取的是kingname.info。
王图思睿
2021/06/16
9.1K0
python 统计文件中单词出现的频率2
index = {} with open(sys.argv[1], encoding='utf-8') as fp: for line_no, line in enumerate(fp, 1): for match in WORD_RE.finditer(line): word = match.group() column_no = match.start()+1 location = (line_no, column_no) index.setdefault(word, []).append(location) # <1>
用户5760343
2019/07/31
1.3K0
从excel文件xlsx中特定单元格中提取图片「建议收藏」
第一种网上通用的用xlsx改zip压缩包,能批量提取出图片。但是无法知道图片在单元格中的顺序信息。
全栈程序员站长
2022/09/14
6.3K0
如何使用IPGeo从捕捉的网络流量文件中快速提取IP地址
 关于IPGeo  IPGeo是一款功能强大的IP地址提取工具,该工具基于Python 3开发,可以帮助广大研究人员从捕捉到的网络流量文件(pcap/pcapng)中提取出IP地址,并生成CSV格式的报告。在生成的报告文件中,将提供每一个数据包中每一个IP地址的地理位置信息详情。  报告中包含的内容  该工具生成的CSV格式报告中将包含下列与目标IP地址相关的内容: 1、国家; 2、国家码; 3、地区; 4、地区名称; 5、城市; 6、邮编; 7、经度; 8、纬度; 9
FB客服
2023/03/29
6.7K0
如何使用IPGeo从捕捉的网络流量文件中快速提取IP地址
Excel: 提取路径中的文件名
文章背景:在日常工作中,有时需要从绝对路径中提取文件名。比如,已知某个文件的存储路径,想要获取最后的文件名称。下面介绍两种方法。
Exploring
2022/09/20
2.7K0
Excel: 提取路径中的文件名
如何使用UnBlob从任意格式容器中提取文件
 关于UnBlob  UnBlob是一款针对容器安全的强大工具,该工具可以从任意格式的容器中提取文件。该工具运行速度非常快,准确率高,并且易于使用。UnBlob能够解析已知的超过30种不同格式的文档、压缩文件和文件系统,并能够从中递归提取文件内容。 UnBlob是完全开源免费的,并提供了一个命令行接口。除此之外,该工具还能够以Python库的形式来使用。这些特性使得UnBlob成为文件/数据提取、分析和逆向固件镜像的完美工具。 工具特性  1、准确率高:支持使用自定义规则识别数据区块的起始偏移量,并根
FB客服
2023/03/29
1.5K0
如何使用UnBlob从任意格式容器中提取文件

相似问题

从文件中提取单词

40

从文件中提取单词

30

从文件中提取单词

51

从日志文件中提取特定的单词(不是关键字)

20

从日志文件中提取日志时间

35
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文