Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >如何编写shell脚本在特定单词之后选择任何单词

如何编写shell脚本在特定单词之后选择任何单词
EN

Stack Overflow用户
提问于 2022-05-05 23:47:56
回答 3查看 66关注 0票数 0

我正在尝试编写shell脚本,以便在Jenkins管道日志文件中找到已批准的用户。我把管道脚本的一部分放在这里。如何选择'MPPortal管理员‘或任何用户名后面的’批准‘字?我对shell脚本很陌生,我也不知道要怎么做。

代码语言:javascript
代码运行次数:0
复制
Timeout set to expire in 1 hr 30 min
[Pipeline] {
[Pipeline] input
APPROVE?
Proceed or Abort
Approved by MPPortal Administrator
[Pipeline] }
[Pipeline] // timeout
[Pipeline] }
[Pipeline] // timeout
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Library Policy Evaluation)
[Pipeline] 

我试过的

代码语言:javascript
代码运行次数:0
复制
grep Approved pipeline.log

然后输出是

代码语言:javascript
代码运行次数:0
复制
Approved by MPPortal Administrator

预期产出:

代码语言:javascript
代码运行次数:0
复制
MPPortal Administrator
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-05-05 23:54:43

使用sed

代码语言:javascript
代码运行次数:0
复制
$ sed -n 's/^Approved[^[:upper:]]*\(.*\)/\1/p' input_file
MPPortal Administrator

使用awk

代码语言:javascript
代码运行次数:0
复制
$ awk '$1=="Approved" {print $3,$4}' input_file
MPPortal Administrator

使用grepcut

代码语言:javascript
代码运行次数:0
复制
$ grep  '^Approved by' input_file | cut -d' ' -f3-4
MPPortal Administrator
票数 1
EN

Stack Overflow用户

发布于 2022-05-05 23:54:21

正如目前的答案已经显示的那样,有一些无用的方法可以做到这一点。这里还有几个:

awk和sed:搜索行,使用删除部分

代码语言:javascript
代码运行次数:0
复制
$ awk '/Approved by/{sub(/Approved by */,""); print}' file
$ sed '/Approved by/!d;s/Approved by *//'
$ sed -n '/Approved by/s/Approved by *//'

awk:搜索行,通过重新定义字段删除部件:

代码语言:javascript
代码运行次数:0
复制
$ awk '/Approved by/{$1=$2="";$0=$0;$1=$1;print}' file

这将搜索“批准”一词。如果这些单词出现在行中,则删除第一个和第二个字段(这些是“批准的”)。这将在字符串的其余部分之前保留几个空格。因此,通过将主记录重新分配给自己($0=$0),我们重新定义了字段。这里仍然有空间,但是现在我们可以重新分配$1=$1,它重写记录并删除空间。无趣,但有效。

使用perl正则表达式的grep:

代码语言:javascript
代码运行次数:0
复制
$ grep -oP "Approved by\s\K.*" file
$ grep -oP "(?<=Approved by).*" file

在第一部分中,我们搜索整行,但是使用\K,我们删除了前面匹配的所有内容(\s是空白的),第二部分使用了一个回顾语句。

票数 0
EN

Stack Overflow用户

发布于 2022-05-05 23:57:32

需要考虑的两个备选方案:

  1. 使用‘awk’
  2. 使用grep定位条目,sed过滤不需要的前缀。

使用awk:

代码语言:javascript
代码运行次数:0
复制
awk '$1 == "Approved" { print $3, $4 }' pipeline.log

使用grep/sed

代码语言:javascript
代码运行次数:0
复制
grep 'Approved' pipeline.log | sed -e 's/^Approved by //'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72137900

复制
相关文章
adb shell 如何选择特定的设备?
其实这个一查,stackoverflow或者百度谷歌一大把,比如这个“http://stackoverflow.com/questions/14654718/how-to-use-adb-shell-when-multiple-devices-are-connected-fails-with-error-mor”,不过呢,当然要配图才能更加清晰明了了。下面就看下配图版解答。
望天
2018/08/02
4.8K0
adb shell 如何选择特定的设备?
python入门(八)单词堆中查找特定单词(正则表达式)
#用正则表达式找到文本中所有的s开头,e结尾的单词 import re text = "site sea sue sweet see case sse ssee loses" m = re.findall(r"\bs\S*e\b", text) if m: print(m) else: print('not match') 以上程序中所用到的知识点如下: re.findall(r"正则表达式", text) #re是python里的正则表达式模块 findall() #用来按照
星辉
2019/01/15
3.7K0
【面试现场】如何在500w个单词中统计特定前缀的单词有多少个?
题目:我有500w个单词,你帮忙设计一个数据结构来进行存储,存好之后,我有两个需求。
帅地
2018/12/05
8610
【面试现场】如何在500w个单词中统计特定前缀的单词有多少个?
如何使用zx编写shell脚本
在这篇文章中,我们将学习谷歌的zx库提供了什么,以及我们如何使用它来用Node.js编写shell脚本。然后,我们将学习如何通过构建一个命令行工具来使用zx的功能,帮助我们为新的Node.js项目引导配置。
chuckQu
2022/11/28
4.1K0
如何编写一个shell脚本
本文结合大量实例阐述如何编写一个shell脚本。  为什么要进行shell编程  在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。  下面,让我们一起来看看shell是如何工作的:  建立一个脚本  Linux中有好多中不同的shell,但是通常我们使用bash (bou
阳光岛主
2019/02/20
1.7K0
shell脚本简介+编写
$#:获取所有输入参数个数,常用于循环,判断参数的个数是否正确以及加强脚本的健壮性。
ha_lydms
2023/08/10
3910
shell脚本简介+编写
shell脚本编写思路
交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。
马哥教育小师哥
2019/07/05
1.6K0
Linux 编写Shell脚本
批处理:用户事先编好一个完整的Shell脚本,Shell会一次性执行脚本中的诸多命令
心跳包
2020/08/31
2.7K0
shell 脚本的编写
注:默认root用户下操作,可通过 su root 然后输入密码进行root用户的切换
烤红薯
2021/12/23
9880
shell 脚本的编写
在链表上实现单词统计
结点为WordNode,有两个域,分别是结点上存储的单词,结点出现的频度以及这个单词下一个出现的单词
张凝可
2019/08/22
5790
单词规律
给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。
_kyle
2020/12/28
6540
单词识别
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
1.2K0
单词识别
单词搜索
给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词。
你的益达
2020/08/05
6710
统计单词
先解释一下,不要用空格来判断是否是下一个单词,比如good.yes.这是2个单词,要看出题人严不严,他也可以good.  yes.但是通用的方法如下,直接上题目
砖业洋__
2023/05/06
3210
统计单词
编写shell脚本简单教程
由于我公司的项目已经渐渐进入到了后期维护阶段,前端代码也只有我一个人在维护了。而项目部署是使用了docker构建镜像,因为某些原因,需要手动部署docker镜像完成生产环境发版。非常麻烦,必须在自己机器打好镜像再上传到另一台机器的docker容器里,我自己的开发机和生产环境的机器网又不能互通。不好记还容易混。
心念
2023/01/11
7310
3172: [Tjoi2013]单词
3172: [Tjoi2013]单词 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 1424  Solved: 653 [Submit][Status] Description 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。 Input 第一个一个整数N,表示有多少个单词,接下来N行每行一个单词。每个单词由小写字母组成,N<=200,单词长度不超过10^6 Output 输出N个整数,
HansBug
2018/04/10
9060
Linux中编写Shell脚本
Shell是一个命令解释器,它的作用是解释执行用户输入的命令及程序等。用户每输入一条命令,Shell就执行一条。这种从键盘输入命令,就可以立即得到回应的对话方式,称为交互的方式。
谢公子
2022/01/19
7.2K0
Linux中编写Shell脚本
使用 JavaScript 编写 Shell 脚本
作为程序员,在平时的开发中肯定少不了一些命令行操作了。当然,简单的命令大家都是可以拿捏的,但是涉及到一些逻辑的时候还是比较头疼的。
ConardLi
2023/01/09
1.2K0
在shell脚本里面给用户多个选择
我们的转录组数据分析流程的脚本当然并不能是每次都对每个项目运行全部的环节的每个步骤,通常情况下就是选择性的跑几个步骤即可。有一些小伙伴也许会把流程里面的每个步骤拆分成为多个脚本,这样就绕过选择了。但如果全部是拆分,我们脚本管理起来难度很大。
生信技能树
2022/01/10
7900
单词接龙
给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列。转换需遵循如下规则:
你的益达
2020/08/05
6480

相似问题

Shell脚本在特定单词之后打印一定数量的单词

34

在shell脚本中从文件中选择特定的单词

20

在特定单词之后提取单词

30

在shell脚本中搜索特定的单词

34

PHP在某个单词之后选择单词

25
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档