【问题标题】:Delete last character from line that contains specific word从包含特定单词的行中删除最后一个字符
【发布时间】:2019-07-01 18:15:48
【问题描述】:

我想从包含特定字符串/单词的行中删除最后一个逗号

我尝试了几个使用 sed 的示例,但没有一个提供正确的结果。

{
    "src4_addr" : "10.10.10.10", 
    "dst4_addr" : "11.11.11.11",
    "in_bytes" : 70,
},

我想删除包含单词in_bytes 的行中的逗号。

预期结果:

{
    "src4_addr" : "172.27.90.18", 
    "dst4_addr" : "172.27.90.131",
    "in_bytes" : 70
},

【问题讨论】:

  • 回答这篇文章标题sed '/specific word/s/.$//' file 的问题,但也许从您添加的数据中获得更通用的解决方案是sed 'N;s/,\s*\(\n\s*}\)/\1/;P;D' file

标签: bash awk sed


【解决方案1】:

也许这样的事情会做:

sed '/in_bytes/ s/,//g'

示例:https://ideone.com/3hEXBY

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多