【问题标题】:Removing trailing whitespace only from some lines仅从某些行中删除尾随空格
【发布时间】:2018-07-31 22:05:13
【问题描述】:

有时我有一个补丁文件,它错误地将空格添加到某些行的末尾。有人可以给我一个 sed 脚本,它只删除以“+”开头的行上的尾随空格吗?

【问题讨论】:

  • 修复“补丁文件”(无论是什么)不这样做是否有意义?
  • 我用来制作补丁文件的工具有一个添加空格的错误。清理补丁文件比修复工具要容易得多。

标签: regex sed removing-whitespace


【解决方案1】:

我想通了:

sed -E 's/(^\+.*)( $)/\1/'

这会找到两组:一行以 + 开头,然后是一堆字符,然后是第二组,它只是一个空格和行尾。然后它只用第一组替换它。

【讨论】:

  • 你也可以sed '/^+/s/ $//'.
【解决方案2】:

试试这样的:

sed -i '/^+/s/[ \t]*$//' file

【讨论】:

    猜你喜欢
    • 2023-03-16
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    相关资源
    最近更新 更多