当前位置: 首页 > 知识库问答 >
问题:

Sed-单行替换[重复]

邹誉
2023-03-14

文件txt只有一行:

110 ./blabla/log.txt

我想删除110之后的所有数据。我试过了

sed -e 's/\.\/b.*$//g' ./file.txt

它不起作用,为什么?

谢谢

共有1个答案

黄靖
2023-03-14

表达式没有问题,但要就地执行,您需要:

sed -ie 's/\.\/b.*$//g' sed.txt

你也可以简单地

sed -ie 's/ .*//g' sed.txt

然而,我怀疑你的例子实际上不是你文件中的真实行,也许你需要分享这个,你的正则表达式可能缺少一些字符。

 类似资料:
  • 对sed来说有点新。我制作了一个脚本来替换文件中的各种文本。例如,文件

  • 问题内容: 我需要替换Linux文本文件中所有出现的控制字符CTRL + A(SOH / ascii 1),如何在SED中实现呢? 问题答案: 可以使用(等同于选项并将其通过管道传递到)完成。 如果控制字符是标题(SOH)字符的开始(CTRL + A / ASCII 1),并且我们希望将其替换为制表符,则可以执行以下操作: 会将SOH字符替换为^ A,然后将其匹配并替换为。

  • 问题内容: 如果我从脚本运行以下命令: 没事。 但是,如果我运行: 我在教程中读到,要从shell替换环境变量,您需要先停止操作,然后对部分进行“引用”,以便不直接替换该部分,这是我所做的,并且仅当该变量在紧接之前定义时才起作用。 我如何被s识别为shell中定义的环境变量? 问题答案: 您的两个示例看起来相同,这使问题难以诊断。潜在问题: 您可能需要双引号,例如 可能包含一个斜杠,在这种情况下,

  • 我有这个代码,我确实想要一个特定模式的替换,但不是多就地替换。 结果是 但愿如此 同样,通过“循环”,我们得到了相同的结果。 它很小,非常令人失望!! 有什么建议说明为什么会这样吗?

  • 问题内容: 我对bash / sed没什么问题。我需要能够在sed表达式中使用命令替换。我有两个大文本文件: 首先是logfile.txt, 有时*以 错误ID:0xdeadbeef的格式按ID显示错误消息(常见示例为0xdeadbeef)。 第二个error.txt具有成对存储的错误消息LONG_ERROR_DESCRIPTION,0xdeadbeef 我试图用sed和bash命令替换来完成任务

  • 问题内容: 尝试用sed替换字符串时发生奇怪的事情。这有效: 因此,当我手动键入字符串时,它可以工作。但在以下情况下,不会发生替换: 当我回显这两个变量PATTERN和REPLACEMENT时,它们具有正确的值。 我试图用配置目录中所有文件中的替换字符串替换所有出现的模式字符串。 问题答案: 尝试 代替。’引号不会扩展变量。