【问题标题】:Sed - Substitution in a single line [duplicate]Sed - 在一行中替换[重复]
【发布时间】:2016-01-23 03:07:04
【问题描述】:

file.txt 只有一行:

110 ./blabla/log.txt

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

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

没有用,为什么?

谢谢。

【问题讨论】:

  • 它对我来说很好用。但是,为什么不只是 sed 's/ .*//' file 将所有内容从空间中删除?
  • 只需传递 -i 即可就地编辑(注意此选项)。
  • j.a:完美,谢谢!

标签: bash sed


【解决方案1】:

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

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

你也可以简单地通过

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

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

【讨论】:

  • 不需要$.* 将匹配到最后。
猜你喜欢
  • 2010-11-29
  • 2023-04-07
  • 2013-11-01
  • 2011-10-04
  • 2014-08-01
  • 2017-01-06
  • 1970-01-01
  • 2020-10-29
  • 2014-06-26
相关资源
最近更新 更多