sed相关内容

使用 grep 和 sed 将一个字符串替换为另一个

我想用另一个文件中的字符串替换一个文件中的一个字符串.虽然我对这些命令没有经验,但我希望 grep 和 sed 的某种组合会做得最好. 使这有点复杂的原因是我不知道任何一个字符串是什么(我正在尝试自动替换文档中的版本号).我知道在这两种情况下,我要查找的字符串(例如“2.3.4")前面都带有“version:" 所以我可以说'在“version:"之后寻找单词(或行的其余部分或任何可能 ..
发布时间:2021-12-24 12:28:18 服务器开发

使用 Bash (sed?) 删除包含特定文本的多行/* ... */样式注释(正则表达式)

我正在寻找一种 bash 解决方案来删除包含现在被认为是 Java 类中/* ... */注释中多余的信息的代码片段. 特别是,以前当我们检入我们的代码时,它会自动在类的顶部附近添加一个检入历史的副本: /* 版权声明 *//** $日志:* 3 Project1 02/02/2012 19:05:59 Bob Geldof* 评论 3* 2 Project1 01/02/2012 15: ..
发布时间:2021-12-24 12:28:12 其他开发

如何在查找表达式中使用带有 sed 的文件名

尝试回答使用 Bash/Perl 根据每个文件的名称修改文件不知道如何一起使用 find 和 sed. 假设有一个特定的文件结构,我们要在其中更改一行,附加文件名. 如果它是一个普通的 for 循环,我们会这样做: 用于目录中的文件/*做sed -i "s/text/text plus $file/g" $file完毕 但是假设我们要使用 find 来更改所有子目录中的文件.在这种 ..
发布时间:2021-12-24 12:28:03 其他开发

awk |在字段匹配的基础上合并行

我需要以下方面的帮助: 输入文件: abc message=sent session:111,x,y,zpqr 消息=接收会话:111,4,5,7abc 消息=发送会话:123,x,y,zpqr 消息=接收会话:123,4,5,7abc 消息=发送会话:342,x,y,zabc 消息=发送会话:589,x,y,zpqr 消息=接收会话:589,4,5,7 输出文件: abc messa ..
发布时间:2021-12-24 12:27:37 其他开发

Sed regexp 多行 - 替换 HTML

我试图在 Linux 系统上使用 sed 替换多行 这是我的文件 数据1数据2数据3数据4数据5数据6 数据8数据9 我所做的尝试都失败了! sed -n '1h;1!H;${;g;s/.*//g;p;}'sed -n '1!N;s/.*//p'sed -i 's|]*-->[^+]+]*-->||g'sed -i 's|/\ ..
发布时间:2021-12-24 12:27:25 服务器开发

如何在 shell 脚本中从 YML 中删除子块?

我正在尝试比较两个 yml 文件并使用 shell 脚本根据某些条件删除一个块.我正在使用这个 YML 解析器,https://gist.github.com/pkuczynski/8665367 用于 yml 文件的比较.但我真的很难从他们身上移除障碍.例如, 工具:图片:tool.xxx.com/platform/app:devlog_driver: 系统日志重启:总是端口:- “54325 ..
发布时间:2021-12-24 12:27:19 其他开发

使用 Sed 扩展文件内的环境变量

我想使用 Sed 来扩展文件中的变量. 假设我导出了一个变量 VARIABLE=something,并且有一个包含以下内容的“测试"文件: 我想扩展这个:“${VARIABLE}" 我一直在尝试类似以下的命令,但无济于事: cat 测试 |sed -e "s/\(\${[A-Z]*}\)/`eval "echo '\1'"`/" >输出文件 结果是变量仍未扩展的“输出文件": 我想 ..
发布时间:2021-12-24 12:27:09 其他开发

连字符和下划线在 sed 中不兼容

我无法让 sed 识别其模式字符串中的连字符和下划线. 有谁知道为什么 [a-z|A-Z|0-9|\-|_] 在下面的例子中就像 [a-z|A-Z|0-9|_] ? $ cat/tmp/sed_undescore_hypenlkjdaslf lkjlsadjfl dfpasdiuy service-type = service-1;jaldkfjlasdjflk 地址 = 地址 1 ..
发布时间:2021-12-24 12:27:01 其他开发

如何查找/修复带有混合行尾的文件 (0x0d 0x0d 0x0a)

我知道我可以通过使用“flip -u"(cygwin flip)来“可能"修复它们,这基本上删除了 0xd 之一,该文件带有 DOS 样式行结尾(0x0d 0x0a)(当然,从技术上讲,这可能被认为是一个错误!). 但另一方面,我想有选择地执行此操作,确保我正在修复的确实是一个“非二进制"文件,并明确地将 0x0d 0x0d 0x0a 序列替换为 0x0d 0x0a ...没有运行一个看起来 ..
发布时间:2021-12-24 12:26:57 其他开发

如何搜索 &替换 sed 和 awk(和 perl)中的任意文字字符串

假设我们在文件中有一些任意文字,我们需要用其他文字替换它们. 通常,我们只需使用 sed(1) 或 awk(1) 并编写如下代码: sed "s/$target/$replacement/g" file.txt 但是,如果 $target 和/或 $replacement 可能包含对 sed(1) 敏感的字符,例如正则表达式,该怎么办?你可以逃避它们,但假设你不知道它们是什么——它们是任 ..
发布时间:2021-12-24 12:26:52 其他开发

带有特殊字符的 sed

我想在这一行上使用 sed: -->ASD = $start ( *.cpp ) 其中 $start 不是变量,我想在它上面使用 sed 并将所有这一行替换为: ASD = $dsadad ( .cpp ) 如何让 sed 忽略特殊字符,我尝试在特殊字符前添加反斜杠,但也许我弄错了,有人可以举个例子吗? 这是我想要的: sed 's/CPPS = \$(shell ls | gr ..
发布时间:2021-12-24 12:26:48 服务器开发

匹配 sed 中的任何字符(包括换行符)

我有一个 sed 命令,我想在一个巨大的、可怕的、丑陋的 HTML 文件上运行它,该文件是从 Microsoft Word 文档创建的.它应该做的就是删除字符串的任何实例 style='text-align:center;颜色:蓝色;示例样式:示例值' 我试图修改的 sed 命令是 sed "s/style='[^']*'//" fileA >文件B 它工作得很好,除了每当匹配文本中有一个 ..
发布时间:2021-12-24 12:26:41 前端开发

Grep 访问多行,查找两个模式之间的所有单词

需要帮助扫描文本文件并找到两个模式之间的所有单词.比如说,如果我们有一个 .sql 文件,需要扫描并找到 from' 和 'where' 之间的所有单词.Grep 一次只能扫描 1 行.对于这个要求,最好使用的 Unix 脚本是什么?sed、awk有这些功能吗?非常感谢您指出任何示例. 解决方案 Sed 有这个: sed -n -e '/from/,/where/p' file.sql ..
发布时间:2021-12-24 12:26:32 其他开发

根据另一个文件内容的完全匹配重命名文件名的一部分

我想通过仅更改文件名的一部分并根据另一个文件中列表中的完全匹配来重命名一堆文件.例如,如果我有这些文件名: sample_ACGTA.txtsample_ACGTA.fq.abcsample_ACGT.txtsample_TTTTTC.tsvsample_ACCCGGG.fqsample_ACCCGGG.txt其他文件.txt 我想根据这些完全匹配来查找和替换,它们可以在另一个名为 repla ..
发布时间:2021-12-24 12:26:26 服务器开发

根据内容删除两行之间的文本块

我需要删除/过滤一个非常大的日志文件我设法将日志文件放入包含 的行开始的文本块中,以包含 Content- 的行结束长度:现在,如果此文本块包含单词REGISTER,则需要将其删除. 我找到了流动的例子: # sed 脚本删除一个块,如果/regex/在里面匹配:t/start/,/end/{ # 对于这些块标记之间的每一行../end/!{ # 如果我们不在/end ..
发布时间:2021-12-24 12:26:21 其他开发

如何从文本文件中的第一个空行开始删除所有行?

从 Bash 中的第一个空行开始从文本文件中删除所有行的最佳方法是什么?可以使用外部工具(awk、sed...)! 示例 1:ABC2:防御3:4:GHI 应删除第 3 行和第 4 行,并将剩余内容保存在新文件中. 解决方案 With AWK: $ awk '/^$/{exit} 1' test.txt >输出.txt output.txt 的内容 $ cat outpu ..
发布时间:2021-12-24 12:26:03 服务器开发

sed,引号中的正斜杠

我正在尝试使用 sed 在 bash 中做一些被证明非常困难的事情. 我有一个 bash 脚本,它的第一个参数是日期. 代码想要更改文本文件中的一行以包含传递的日期.这是代码 #!/bin/bashcq_fname="%let outputfile="/user/cq_"$1".csv";"sed "29s/.*/\"$ct_fname\"/" file1.sas >文件2.sas ..
发布时间:2021-12-24 12:25:56 其他开发