【问题标题】:Remove row which contains specific delimiter with different number of columns删除包含具有不同列数的特定分隔符的行
【发布时间】:2013-12-11 14:33:08
【问题描述】:

想要删除包含不同列数的特定分隔符的行

                                         CPU Load for sdp4

7c:e5:3b:6e:2e:5f:d9:4d:68:4d:d5:57:3a:cb:4d:45.
  02:30PM   up 1 day,   9:20,  2 users,  load average: 6.88, 5.96, 5.57

在这种情况下,我想删除带有分隔符“:”的所有内容:

7c:e5:3b:6e:2e:5f:d9:4d:68:4d:d5:57:3a:cb:4d:45。

我想删除任何包含该分隔符的 this。

预期视图:

                                         CPU Load for sdp4

  02:30PM   up 1 day,   9:20,  2 users,  load average: 6.88, 5.96, 5.57

【问题讨论】:

  • 02:30PM 包含:。您在这里尝试解决的真正问题是什么?您尝试过哪些解决方案?

标签: sed awk grep tr


【解决方案1】:

你可以试试:

grep -v ":..:" yourfile

这将删除所有包含一对由任意两个字符分隔的冒号的行 - 这似乎不会出现在您想要的行中。

【讨论】:

    【解决方案2】:

    试试这个grep 线路:

    grep -Pv '^..(:..)+\.$' file
    

    用你的例子:

    kent$  echo "                                         CPU Load for sdp4
    
    7c:e5:3b:6e:2e:5f:d9:4d:68:4d:d5:57:3a:cb:4d:45.
      02:30PM   up 1 day,   9:20,  2 users,  load average: 6.88, 5.96, 5.57"|grep -Pv '^..(:..)+\.$'                                                                                   
                                             CPU Load for sdp4
    
      02:30PM   up 1 day,   9:20,  2 users,  load average: 6.88, 5.96, 5.57
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      相关资源
      最近更新 更多