首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从一行中得到带awk的字符串/短语

从一行中得到带awk的字符串/短语
EN

Stack Overflow用户
提问于 2020-08-27 11:00:00
回答 2查看 70关注 0票数 2

我们使用它返回的脚本,结果如下

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><consultaDeudaResponse xmlns="http://www.example.org/webServicesvc-schema-services"><estado>120007</estado><mensaje>CONSULTA DE DEUDA CORRECTA.</mensaje><deudas><deuda><N>0</nisRad><secNis>1</secNis><nombre>TEST</nombre></env:Envelope>,我正试图从awk中得到这样的短语:CONSULTA DE DEUDA ,因为您可以看到所有东西都在一行中,没有空格或逗号。因此,我不知道如何得到这个短语,并将其设置为一个变量。

我用过

代码语言:javascript
运行
AI代码解释
复制
const=$(awk '/CONSULTA DE DEUDA CORRECTA/ ' output)

代码语言:javascript
运行
AI代码解释
复制
const=$(awk '/^CONSULTA DE DEUDA CORRECTA/ ' output)

但是,要么整个短语与我不需要的其他信息结合在一起,要么变量是空的。

任何帮助都很感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-27 11:24:44

由于这是对单个字符串的简单替换,因此比起awk脚本,它更适合sed脚本:

代码语言:javascript
运行
AI代码解释
复制
$ sed -n 's:.*<mensaje>\(.*\)</mensaje>.*:\1:p' file
CONSULTA DE DEUDA CORRECTA.

$ const=$(sed -n 's:.*<mensaje>\(.*\)</mensaje>.*:\1:p' file)
$ echo "$const"
CONSULTA DE DEUDA CORRECTA.

如果您真的想使用awk,那么与GNU awk一起使用第3 arg来匹配():

代码语言:javascript
运行
AI代码解释
复制
$ awk 'match($0,"<mensaje>(.*)</mensaje>",a){print a[1]}' file
CONSULTA DE DEUDA CORRECTA.
票数 2
EN

Stack Overflow用户

发布于 2020-08-27 11:26:20

你能试一下吗。写在手机上,所以不能测试,不过应该能工作。

代码语言:javascript
运行
AI代码解释
复制
awk '
match($0,/<mensaje>.*<\/mensaje>){
  print substr($0,RSTART+9,RLENGTH-19)
}' Input_file

或以一种衬里形式使用:

var=$(awk 'match($0,/<mensaje>.*<\/mensaje>){print substr($0,RSTART+9,RLENGTH-19)}' Input_file)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63622595

复制
相关文章
GWT 初体验
最近体验了一下 GWT(Google Web Toolkit),其实这个技术老早就有了,写 Java 代码,代码很像 AWT 或者 Swing,但是最后编译成一个 war 包,也就是说,没有啰嗦的 JavaScript、HTML 和模板语言,Java 从前到后通吃,常用的模块都被封装成组件了。虽说写起来代码还挺啰嗦的(写法上面居然不支持链式调用,这确实让我看不懂),而且也没有传统 Web 开发方式来得直观,但也算一种很有意思的开发方式,值得体验一下。网上有足够多的教程,要系统地学习,官方文档是最好的材料,非常详尽。而我的方式,则更具个人风格一点,比较+吐槽,这可不是教程。
四火
2022/07/18
1.1K0
GWT 初体验
在MySQL中查找重复记录
I want to pull out duplicate records in a MySQL Database. 我想在MySQL数据库中提取重复记录。 This can be done with: 这可以通过以下方式完成:
kirin
2021/04/30
4K0
Rdfind - 在Linux中查找重复文件
前段时间遇到一个问题,服务器下面一个文件夹下面的图片越来越多,由原来的5G,达到了现在的94G,其中这个文件夹下面有好多重复的图片,文件多了之后造成图片备份困难,图片迁移困难,浪费了大量的空间和IO。
kubernetes中文社区
2019/06/24
5.5K0
在 TS 中如何减少重复代码
相信有些读者已经听说过 DRY 原则,DRY 的全称是 —— Don’t Repeat Yourself ,是指编程过程中不写重复代码,将能够公共的部分抽象出来,封装成工具类或者用抽象类来抽象公共的东西,从而降低代码的耦合性,这样不仅提高代码的灵活性、健壮性以及可读性,也方便后期的维护。
阿宝哥
2020/05/06
2.4K0
uniq命令 – 去除文件中的重复行
uniq命令全称是“unique”,中文释义是“独特的,唯一的”。该命令的作用是用来去除文本文件中连续的重复行,中间不能夹杂其他文本行。去除了重复的,保留的都是唯一的,也就是独特的,唯一的了。
用户4988085
2021/07/24
3.1K0
使用uniq命令去除文件中的重复行
uniq命令全称是“unique”,中文释义是“独特的,唯一的”。该命令的作用是用来去除文本文件中连续的重复行,中间不能夹杂其他文本行。去除了重复的,保留的都是唯一的,也就是独特的,唯一的了。
用户7639835
2021/08/28
2.2K0
eclipse安装gwt插件,浏览器安装gwt插件,eclipse启动gwt自带的工程,并在浏览器上访问,eclipse导入gwt工程「建议收藏」
首先gwt插件,小编这里上传了eclipse和浏览器上的gwt插件:http://download.csdn.net/download/csdnliuxin123524/10255451
全栈程序员站长
2022/08/05
1.2K0
eclipse安装gwt插件,浏览器安装gwt插件,eclipse启动gwt自带的工程,并在浏览器上访问,eclipse导入gwt工程「建议收藏」
gwt之mvc4g
Mvc4g是一个简单的框架来实现的GWT应用程序的MVC模式。 主要思想 其主要思想是,以减轻开发人员的工作,以单独的视图从模型。该框架是一个XML文件,将允许开发人员告诉视图发射事件时要执行什么样
cloudskyme
2018/03/20
9180
gwt之mvc4g
快速在组合中查找重复和遗失的元素
? ? ? ? ? ? ? ?
望月从良
2018/09/29
4.5K0
快速在组合中查找重复和遗失的元素
在C#中如何List去除重复元素?
List中有两个一样的元素,想把两个都去除,用remove和removeall都不行,list中是对象,distinct好像也不太好使,还请各位帮忙解答一下。 代码片段如下: class Edge { public PointF start; public PointF end; }
全栈程序员站长
2022/11/16
2.6K0
LeetCode 609. 在系统中查找重复文件(哈希)
给定一个目录信息列表,包括目录路径,以及该目录中的所有包含内容的文件,您需要找到文件系统中的所有重复文件组的路径。 一组重复的文件至少包括二个具有完全相同内容的文件。
Michael阿明
2020/07/13
1.5K0
编程实现删除数组中在重复数字
编写程序,在被调函数中删去一维数组中所有 相同的数,使之只剩一个,数组中的数已按由 小到大的顺序排列,被调函数返回删除后数组 中数据的个数。 例如: 原数组: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 删除后: 2 3 4 5 6 7 8 9 10
用户7886150
2021/02/05
1.2K0
在Linux命令中tail的用法
linux 中的 tail 命令用途是按照要求将指定的文件的最后部分输出到标准设备,一般是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,如果该档案有更新,tail 会自动刷新,确保你看到最新的档案内容。 工作中经常用 tail 命令查看 PHP 错误日志,接口日志等.分享一下这个命令的用法! 一、tail 命令语法 tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 参数说明:
沈唁
2018/05/24
3.8K0
在AMD PetaLinux中添加命令pstree
命令pstree将相关进程以树状图显示,方便查看进程间的关系。由于调试需要,需要在Linux里使用命令pstree。但是PetaLinux产生的Linux映像,默认不带命令pstree。
hankfu
2023/10/16
3620
在 Linux 中管理日志操作命令
在 Linux 系统上管理日志文件可能非常容易,也可能非常痛苦。这完全取决于你所认为的日志管理是什么。
用户8989785
2021/09/09
1.1K0
linux nslookup命令安装,在CentOS中安装nslookup命令
域名查询工具nslookup并不是Win系统的专利,Linux系统中也可以使用,不过要安装,默认没有。
全栈程序员站长
2022/11/02
5.9K0
在 Laravel 中编写高级的 Artisan 命令
在上一篇教程中,学院君向大家介绍了什么是 Artisan 命令,系统内置的 Artisan 命令,以及如何编写一个简单的 Artisan 命令。我们完全可以将命令行看作与 Web 应用同等的控制台应用(实际上,Laravel 底层也是这么做的),它具备自己的路由、Kernel、输入、控制器(命令类)、输出。因此,在这篇教程中,我们将更进一步,一起来看下如何编写更加高级的 Artisan 命令,比如带输入参数、选项,以及能够与用户互动,输出图表/进度条的 Artisan 命令。
学院君
2021/01/08
8.4K0
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。
例如 链表1->2->3->3->4->4->5 处理后为 1->2->5 public ListNode deleteDuplication(ListNode pHead) { ListNode cur = this.head; ListNode newHead = new ListNode(-1); ListNode tmp = newHead; while (cur != null){ if (cur.n
小雨的分享社区
2022/10/26
1.1K0
linux命令mysql启动,在linux中启动mysql服务的命令
用reboot命令重启linux服务器之后会导致mysql服务终止,也就是mysql服务没有启动。必须要重启mysql服务,否则启动jboss时会 报有关数据库mysql方面的错误。
全栈程序员站长
2022/08/27
20.2K0
linux命令mysql启动,在linux中启动mysql服务的命令
做技术,如何使自己在重复性业务中持续提升?
每个工作两年以上的技术人都应该想过,自己每天这样的这些业务代码,并没有什么技术含量,也没有什么拿得出手的项目,在公司的始终处于螺丝钉的地位,觉得自己目前做的一切虽然对公司有价值,但是似乎对自己并没有什么价值,难道一成不变的工作内容对我们真的没有任何价值么?
代码宇宙
2023/02/23
7290

相似问题

在If命令中重复If命令

26

GWT命令插入

118

在GWT中处理应用程序命令

12

在GWT命令模式中避免匿名内部类

10

在输出中重复命令

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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