sed相关内容
在 Docker Compose 的 yml 文件中,卷在以 volumes: 行开头的部分中声明,后跟模式,例如作为 -host/dir:guest:dir.该部分以下一部分的开头结束,其名称不会一直相同,并且可以是 ports:、environment: 和网络:,等等.通常有多个 volumes: 部分,并且每个部分中的行数未知(并且在 volumes: 部分中不是恒定的). 我需要从
..
我正在尝试编写一个 AWK 脚本来汇总大型文本文件中的数据.结果数据的顺序很重要,所以我不能使用排序. 我尝试了 FNR==NR 的不同变体,但没有任何运气 输入文件 高度 3.5重量 12.323岁::高度 4.5重量 15.5年龄 31:: 预期产出 高度 3.5 4.5重量 12.3 15.5年龄 23 31 解决方案 使用 awk: awk '{a[$1]=a[$1
..
我的情况是: 我有一个很长的文本字符串,其中包含特殊字符,它出现在各种文件的长行中.包含字符串的文件遍布整个文件系统 (Linux).该字符串可能位于它出现的文件中的不同行号上,但每个文件出现一次.但是,该字符串包含一个特定的模式,我可以通过键入该模式来识别整个字符串. 我知道如何通过使用 GREP -lir mystringprefix/path 键入字符串的“前缀"来查找包含该字符
..
我有一个文件,我必须在其中替换所有像 $xyz 这样的单词,对于它们,我必须像这样替换: $xyz 和 ${xyz}.$abc_xbs 与 ${abc_xbc}$ab,$cd 与 ${ab},${cd} 这个文件也有一些像 ${abcd} 这样的词,我不需要改变.我正在使用这个命令 sed -i 's?\$([A-Z_]+)?\${\1}?g' 文件 它在命令行上工作正常,但在 p
..
我有以下 xml 来根据 tag 的值解析和提取 tag 的值.仅当 type == 'hosted' 时提取.我想使用 bash 工具(如 grep、sed 和 awk)进行提取.没有条件提取单个标签值是我以前做过的事情,而不是有条件的.我可以使用 python 或我知道的任何其他编程语言轻松完成它.但如果在 shell 脚本中完成,这将是理想的. ...
..
我有一个 bash 脚本,它遍历链接列表,每个链接卷曲一个 html 页面,greps 用于特定的字符串格式(语法是:CVE-####-####),删除周围的html 标签(这是一种一致的格式,不需要特殊情况处理),在更改日志文件中搜索结果字符串 ID,最后根据是否找到字符串 ID 执行操作. 找到的字符串 ID 被设置为变量.问题是,当对变量进行 grep 时,没有结果,即使我肯定知道某些
..
我在 file.txt 中有这些数据: 1234-abca-dgdsf-kds-2;abc dfsfds 2123-abcdegfs-sdsd;dsfdsf dfd f12523-cvjbsvndv-dvd-dvdv;dsfdsfpage 我想替换“-"之后到“;"的字符串只用“;",所以我得到: 1234;abc dfsfds 2第123话12523;dsfdsfpage 我尝试使用以下
..
我正在处理位于工作目录中的大量 dlg 文本文件的分析.每个文件都有一个表格(通常位于日志的不同位置),格式如下: 文件 1: 聚类直方图____________________________________________________________________________________________________|||||克劳斯 |最低 |运行 |意思 |数量 |
..
我有一个如下所示的 xml.
..
我使用的是 Ubuntu 14.04,我有以下声明: 192.168.2.4 [要捕获的文本] 测试:这是一个测试语句. 我正在尝试使用以下正则表达式捕获“要捕获的文本": echo "192.168.2.4 [要捕获的文本] 测试:这是一个测试语句" |sed -r "s/^[^\[\]]*\[(.*)\].*$/\1/" 正则表达式背后的想法是遍历所有与左方括号和右方括号不匹配的字符.
..
有一个文件,例如.Inventory.conf 包含以下行: Int/domain—home.dir=/etc/int 我需要在 = 之前而不是之后替换 / 和 — .结果应该是: Int_domain_home_dir=/etc/int 我尝试了几个 sed 命令,但似乎没有一个适合我的需要. 解决方案 带有 t 循环的 Sed (BRE): $ sed ':a;s/[-/—.
..
我如何为 ExtData 标签解析日志文件(不是完整的 xml 文件,但它有一部分 xml 数据),它有一些名称-值对,我需要像这样屏蔽它:例如: Name="Jason" Value="Special"到Name="Jason" Value="XXXXXXX" 仅当 Name 是 Jason 或某些名称集时,我才需要像上面一样屏蔽 ExtData 标记值
..
我要删除 START 和 END 关键字之间的行,如下所述: 开始文本1文本2文本 3开始文本 4结尾文本5文本6开始测试7开始测试8结尾 我的问题在于 START 关键字并不总是以 END 结束.如上例所示,第一个 START 没有以 END 结束,而是在 TEXT3 之后再次以另一个 START 结束. 所以我不能使用以下 sed 命令: sed '/START/,/END/d'
..
当通过 find 命令将 grep 应用到选定文件时,我们希望显示每个文件的修改日期和时间.最终结果应如下所示: 2016-10-17 Mon 20:38:57 ./rest/47results.php: 5 :σχόλια, ιδέες facebook 从 47test.php 文件运行以下内容: system('export TZ=":Europe/Athens"; find
..
将文本文件中的行与匹配的第一个字段进行匹配的快速而简洁的方法是什么. 样本输入: a|loremb|假设b|多色c|坐d|ametd|consecteture|吸脂e|精英 所需的输出: b|ipsumb|多色d|ametd|consecteture|吸脂e|精英 所需的输出,替代: b|ipsum|dolord|amet|consecteture|adipisizing|精英
..
我对 bash/sed 没什么问题.我需要能够在 sed 表达式中使用命令替换.我有两个大文本文件: 首先是 logfile.txt,它有时*按 ID(0xdeadbeef 是常见示例)显示错误消息,格式为 ERRORID:0xdeadbeef second errors.txt 将错误消息成对存储 LONG_ERROR_DESCRIPTION, 0xdeadbeef 我试图使用
..
我试图从 java 运行 sed 命令但没有成功.这是我的java代码: String[] cmd = {"sed", "-i", "'"+lineIndex+"s/"+line+"/"+currentBid+"/g'", "/data/jsp/items.xml"};Runtime.getRuntime().exec(cmd); 我也试过: String[] cmd = {"/bin/sh
..
我有一个包含 3 列的列表: 2547123456789,5391074043372870,639027123456789 我想像这样修改第二列: sed 's/\([0-9]\)\([0-9]\)/\2\1/g' 使其变为:3519700434738207 我的问题是如何在一行 awk/sed 中执行此操作,同时保持其他列不变,以便我的最终文件具有: 2547123456789,351
..
我目前正在使用 sed 脚本: 先cd(根文件夹) 查找.-name pom.xml |xargs sed -i "//,/''/s/-SNAPSHOT//" 目前,此脚本删除了文件夹(包括其子文件夹)上所有 pom.xml 上的 -SNAPSHOT,标记为 ,xml的例子是: com.techstack.scheduler
..
这是我想大写的数据: molly w.螺栓 334-78-5443沃尔特q.布格 984-49-0032诺亚山口方式 887-12-0921凯里吨.砖 431-09-1239坪山.余 109-32-9845 这是我迄今为止编写的脚本,用于将姓名的首字母大写,包括首字母 hs/\(.\).*/\1/y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRS
..