gpt4 book ai didi

sed - 使用 sed 注释掉包含特定文本字符串的行

转载 作者:行者123 更新时间:2023-12-04 21:50:05 25 4
gpt4 key购买 nike

请多多包涵,因为我是论坛的新手,在发帖之前尝试过研究。我想做的是使用 sed 查看文件的多行以及包含“CPU Usage”字样的任何行我希望它立即注释掉该行和 19 行之后。

示例 file.txt

This is some random text CPU USAGE more random text
Line2
Line3
Line4
Line5
etc.

我希望sed 找到文本字符串CPU 使用率并注释掉该行和后面的19 行

#This is some random text CPU USAGE more random text
#Line2
#Line3
#Line4
#Line5
#etc.

这是我一直在尝试的方法,但显然它不起作用,因为我在这里发帖寻求帮助

sed '/\/(CPU Usage)s/^/#/+18 > File_name
sed: -e expression #1, char 17: unknown command: `^'

我希望能够在多个文件上使用它。非常感谢您提供的任何帮助!

最佳答案

GNU sed 有一个允许 /pattern/,+N 的非标准扩展(好吧,它有很多非标准扩展,但有一个与这里相关)表示从匹配 pattern 的行到该行加上 N。

我不太确定您希望您的 sed 命令对模式的 \/ 部分执行什么操作,并且您遗漏了一个单引号你展示了,但这确实有效:

sed '/CPU Usage/,+19 s/^/#/'

如果您想覆盖原始文件,请添加 -i .bak(如果您不介意丢失原始文件,则只需添加 -i)。

如果您没有 GNU sed,现在可能是安装它的好时机。

关于sed - 使用 sed 注释掉包含特定文本字符串的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24717545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com