如何使用 bash 脚本从文件中提取标记之间的文本

2024-01-07

我正在读这个问题:使用 bash 提取文本文件中 2 个标记之间的行 https://stackoverflow.com/questions/4857424/extract-text-from-between-2-tokens-in-a-text-file-using-bash因为我有一个非常相似的问题...... 我必须提取(并在打印之前将其保存到 $variable)此 xml 文件中的文本:

<--more labels up this line>
<ExtraDataItem name="GUI/LastVMSelected" value="14cd3204-4774-46b8-be89-cc834efcba89"/>
<--more labels and text down this line-->

我只需要获取 value= (显然没有括号,也没有“value=”),但首先,我认为它必须搜索“GUI/LastVMSelected”才能到达这一行,因为其他中可能有类似的值字段线,该标签的值就是我想要的。


如果它们位于同一行(正如它们似乎来自您的示例),那就更容易了。只是:

sed -ne '/name="GUI\/LastVMSelected"/s/.*value="\([^"]*\)".*/\1/p'

解释:

  • -n:禁止默认打印
  • /name="GUI\/LastVMSelected"/:仅匹配此模式的行
  • s/.value="([^"])"./\1/p
    • 替换所有内容,捕获括号部分(值的值)
    • 并打印结果
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 bash 脚本从文件中提取标记之间的文本 的相关文章

  • 如何在 grep 中每个文件匹配一次?

    是否有任何 grep 选项可以让我控制匹配总数 但在每个文件的第一个匹配处停止 Example 如果我这样做grep ri include coffee re 我明白了 app coffee express require express
  • sed:替换文本块

    我有一堆文件 从一段代码开始 我试图用另一个代码块替换 Replace
  • 具有此处文档重定向的 Makefile 配方

    有谁知道如何在菜谱上使用此处文档重定向 test sh lt
  • 如何在 Linux Bash 中通过 SFTP 将数据传输到远程文件而不将数据存储在本地文件中?

    我需要能够通过 SFTP 将数据从内存传输到远程文件 我最初是通过 SSH 进行此操作的 在工作时发现我没有对远程位置的 SSH 访问权限 只有 SFTP 访问权限 下面是我的原始 SSH 代码的示例 echo secret data ss
  • 为什么我不能将 Unix Nohup 与 Bash For 循环一起使用?

    例如 此行失败 nohup for i in mydir fasta do myscript sh i done gt output txt bash syntax error near unexpected token do 正确的做法是
  • 为什么 iTerm2 中不显示 git 颜色

    所以我有我的 gitconfig 设置来处理颜色 在终端中它工作得很好 看起来也不错 然而 在 iTerm2 中 除非我为 git 设置反向属性 否则我的 gitconfig 根本不会显示颜色 然后它们就出现了 但是谁喜欢相反的颜色呢 为什
  • 如果等于特定值则替换列

    我希望替换 CSV 中的第四列 如果它等于 N A 我正在尝试将其更改为 1 我似乎无法让它发挥作用 awk F if 4 N A 4 1 test csv 您可以使用以下内容awk awk F 4 4 N A 1 4 1 OFS test
  • cron 作业不适用于 xwindow

    我在 crontab 中有以下行 1 xeyes 它不显示任何 xwindow 但相反 1 touch somefile txt 工作正常 尝试在谷歌上搜索但没有得到任何具体答案 如果您运行的命令使用 X 服务器 您必须告诉 cron 在哪
  • C - printf("\a") 不会发出警报[重复]

    这个问题在这里已经有答案了 这是我的 C 代码 include
  • 查找从 unix 命令行输入的单词出现的次数

    对于文件file1 txt其中包含 Apple fruit Apple tree Tree AApple AApklle Apple apple TREE Apple 我想查找该单词出现的次数Apple 输出应该是4 我的 script s
  • 很好的 C 库集合? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个很好的 ANSI C 库集合 用于处理向量 哈希映射 二进制树 字符串处理等 Try g
  • OS X bash:目录名

    我想创建一个简单的 bash 脚本来在 OS X 上启动 Java 程序 文件名 文件路径和直接工作文件夹都包含空格 当我这样做时 bin sh cd dirname 0 I get usage dirname path 我也尝试过在各种不
  • Rscript 正在绘制 PDF

    我有一个简单的R http en wikipedia org wiki R 28programming language 29脚本 当它通过 Rscript exe 运行时 默认情况下它会绘制为 PDF 文件 我希望脚本打开一个绘图窗口 我
  • 检测 UTF-8 编码文本文件中的损坏字符

    我有一个使用错误的字符编码编辑的文本文件 因此当我使用 UTF 8 打开它时 某些字符串中有一些 mojibake 和损坏的字符 哪种脚本语言能够最有效地检测这些损坏的字符 Perl 不是一个选择 我基本上试图找到一种使用脚本扫描文本文件并
  • awk 在Linux终端中输出类似表格或类似Excel的列?

    我做了一个长管子 最后是 awk print 5 t t 3 t 4 在 Linux 终端中 这些列用选项卡填充 第一列条目具有不同数量的字符 因此第二列结果并不完全垂直 怎样才能让桌子看起来更完美呢 尝试将结果通过管道传输到列 t awk
  • Python select() 行为很奇怪

    我在理解 select select 的行为时遇到一些困难 请考虑以下 Python 程序 def str to hex s def dig n if n gt 9 return chr 65 10 n else return chr 48
  • c - 后台运行的程序的退出状态

    我有一个任务 其中我必须创建一个迷你 shell 它能够执行很多操作 包括作业控制 我设法使用 fork 和 execvp 创建新的工作 但我还想获取 execvp 运行的程序的退出代码 根据我从其他帖子中查找到的内容 我可以使用以下方法来
  • Powershell:别名和函数有什么区别?

    Im setting up my powershell profile to create aliases of commonly used commands On Microsoft s documentation https learn
  • 使用环境变量将参数传递给命令

    我正在尝试编写一个 bash 脚本 该脚本采用环境变量并将其传递给命令 所以如果我有类似的东西 export OUT a arg1 b arg2 0 arg2 1 我想在我的 bash 脚本中执行以下操作
  • PS1 定义中的条件 pwd

    我想显示当前工作目录如果我处于symlink比没有 到目前为止我已经 pwd P pwd echo 1 31m pwd P echo 1 32m pwd 将返回所需的输出 但它不能替代 w在命令提示符下 我尝试用反引号括起来 但这只会导致p

随机推荐

  • Lua 中的 ISO 8601 时间戳

    如何将时间戳转换为 ISO 8601 格式 例如2009 01 28T21 49 59 000Z 在 Lua 中 我专门尝试使用HttpLua模块 http wiki nginx org HttpLuaModule在 Nginx 中 Try
  • JAI create 似乎使文件描述符保持打开状态

    我有一些旧代码直到最近才工作 但现在似乎很糟糕 因为它在使用 OpenJDK 6 而不是 Java SE 6 的新服务器上运行 问题似乎围绕着 JAI create 我有 jpeg 文件 我将其缩放并转换为 png 文件 这段代码过去工作时
  • ClassNotFoundException:重建后的 org.springframework.cglib.transform.impl.MemorySafeUndeclaredThrowableStrategy

    当尝试在 Tomcat 上运行我的项目时 我遇到了这个奇怪的错误 直到几天前 一切都还好 从那以后我就没有改变过任何一行代码 在一切开始失败之前我做的唯一一件事是 Maven 上下文菜单中的 更新项目 Aug 21 2013 4 39 48
  • HTML 自动嵌入最近从 YouTube 频道上传的视频

    我想知道是否有办法将最近上传的内容从 YouTube 频道自动嵌入到网站 我什至不知道从哪里开始 帮助 使用以下代码通过指定频道 ID 而不是频道名称来自动嵌入 YouTube 频道的最新视频 var channelID UC0xXUfNS
  • 是否可以在 macOS 上以编程方式更改 XDR 显示参考模式(又名预设)?

    Apple 的 XDR 显示器 例如 Pro Display XDR 和 Liquid Retina Display XDR 支持显示参考模式 也称为预设 这些可以在 系统首选项 gt 显示 gt 显示设置 gt 预设 中进行更改 选择 X
  • 在 Laravel 5.4 中将外键 bigInteger 设置为 bigIncrements

    因此 我尝试在 Laravel 的迁移文件中设置外键 以便用户表很简单 但我尝试使用 bigIncrements 而不是立场增量 public function up Schema create users function Bluepri
  • 将数据表拆分为小表 R

    我有一个下表 超过 1k 行 x1 x2 x3 x4 7809 243638 1 1 7809 243638 1 1 7809 243638 1 1 3453 222222 1 0 我需要根据第二列将此表拆分为小表 将在我的环境中作为数据框
  • 确保 CSV 输出中保留长数字

    我有一个 R 数据框 需要保存为 csv 文件 但是在保存为 csv 文件时 一个数字列会更改其格式 我有一个名为 ID 的字符列 如下所示 df lt data frame ID as character 1181050000000002
  • 将新选项卡添加到选项卡栏控制器

    我正在创建一个标签栏 iOS 应用程序 选项卡栏视图控制器有两个选项卡 每个选项卡都连接到一个视图控制器 它看起来是这样的 我需要向选项卡控制器添加更多选项卡 我在故事板中这样做如下 我添加了一个新的视图控制器 我按住 Control 键并
  • 从控制器重定向到项目外部的不同 URL

    我如何从我的控制器重定向到不同的网址 例如 yahoo com hotmail com 我正在使用 Spring 3 0 并使用配置而不是注释 我忘记提及的一件事是 url 将是用户输入 因此无法将其添加到配置中 谢谢 高卢人 您可以在控制
  • 如何强制应用程序更改 iOS/Objective-C 中的语言?

    我在让应用程序立即更改语言时遇到问题 例如this app https itunes apple com app zalo nhan tin kieu moi id579523206 mt 8 我发现了很多类似的问题this https s
  • subprocess.check_output() 没有输出

    我正在尝试在 Python 2 7 5 中运行以下代码 output subprocess check output commandList print len output 我的命令列表是一个参数列表 例如 ls l 但后来我发现即使我有
  • 在magento2中运行时设置包和主题

    我的包名称是 company 主题名称是 web 我还有另一个名为 system 的包 其主题名为 component 运行时来自块文件 但我想从 magento2 的前端设置该主题和包 如果您想在 magento 中运行时设置包和主题 只
  • 无法通过更改宽度或 Flex-basis 来隐藏 Flex 项目

    我想达到这样的效果 在默认状态下 有四个按钮 其中之一是 移动 按钮 当用户单击它时 我想展开按钮并显示其他文本和输入 但是我无法达到 默认状态 收件人 总是出现 我努力了flex basis and width 0px但没有效果 就像这样
  • 如何检测SearchView后退按钮按下?

    我使用单个活动来显示 SearchView 以及显示搜索结果 搜索结果只是项目的子集 因此搜索充当过滤器 一切似乎都工作正常 除了我不知道如何在单击 SearchView 的后退按钮时恢复视图中的所有项目 或者也许还有另一种方法来检测用户何
  • i = 0, ++i 定义了吗?

    我最近了解到 运算符以及它引入了一个事实序列点 我还了解到以下代码会导致未定义的行为 i i Because i在两个序列点之间修改了两次 但是下面的代码呢 i 0 i i 0 i 虽然我知道规则 但我无法得出结论 那么它是否是定义的行为
  • 需要在材质数据表中显示嵌套的 JSON 对象

    我需要将来自后端的嵌套 JSON 对象显示为 MatTableDataSource 的列字段 这是我的 JSON 对象 workstationId 100 assemblylineId 100 workstationDescription
  • 无法更改 git config 用户名,立即重置

    If I do git config global user name My New Name 它有效 只持续很短一段时间 如果我这样做 cat gitconfig 我可以看到正确的值user name财产 但是 一旦我打开新的终端窗口或进
  • sql在一个字段中选择父子递归

    我不知道如何选择递归查询 id idparent jobNO 1 0 1 2 1 2 3 1 3 4 0 4 5 4 5 6 4 6 使用 SqlServer 怎么得到这样的结果 id idparent jobNO ListJob 1 0
  • 如何使用 bash 脚本从文件中提取标记之间的文本

    我正在读这个问题 使用 bash 提取文本文件中 2 个标记之间的行 https stackoverflow com questions 4857424 extract text from between 2 tokens in a tex