【问题标题】:sed - how match exactly number in linesed - 如何完全匹配行中的数字
【发布时间】:2023-03-20 12:09:01
【问题描述】:

请指教,如何告诉 sed 与数字完全匹配

例如,

关于 file.csv 文件,我们只想将单词 STATUS 更改为 OK 仅在以数字 1 开头的行(“,”分隔符之前) p>

但在以 12 开头的 LINE 上,sed 也将 STATUS 替换为 OK

那么如何更改我的 sed 语法以完全匹配分隔符之前的第一个数字?

 more file.csv

 1,14556,43634,266,242,def,45,STATUS
 12,4345,1,43,57,24,657,SD,STATUS
 3,1,WQ,435,676,90,3,44f,STATUS


  sed "/^1/ s/STATUS/OK/g" file.csv
  1,14556,43634,266,242,def,45,OK
  12,4345,1,43,57,24,657,SD,OK
  3,1,WQ,435,676,90,3,44f,STATUS

输出应该如下

  sed .................   file.csv
  1,14556,43634,266,242,def,45,OK
  12,4345,1,43,57,24,657,SD,STATUS
  3,1,WQ,435,676,90,3,44f,STATUS

【问题讨论】:

    标签: linux sed


    【解决方案1】:

    一种解决方案:

    sed "/^1,/ s/STATUS/OK/g" file.csv

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-02
      • 2022-12-11
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      • 2012-01-07
      相关资源
      最近更新 更多