【问题标题】:How to use sed to extract a field from a delimited file如何使用 sed 从分隔文件中提取字段
【发布时间】:2017-10-20 02:42:34
【问题描述】:

我正在使用 centos 7 linux

我确实有一个文本文件,其中有很多行格式相同,即电子邮件、密码

示例:

test@test.com,test

我想使用 sed 仅保存 test@test.com 并删除 ,test,这意味着它将从所有以 ',' 开始的行中删除。

【问题讨论】:

  • @RomanPerekhrest 它通过 awk: cmd 返回。行:1:{打印 awk:cmd。 line:1: ^ 意外的换行符或字符串结尾
  • 检查您的代码是否有错误/错别字

标签: text awk sed centos


【解决方案1】:
cut -d, -f1 yourfile

awk -F, '{print $1}'

【讨论】:

    【解决方案2】:

    @Setop 的回答很好——一般来说,使用cutawk 是处理分隔文件时的常用做法。

    根据您的问题,我们也可以使用sed

    sed -i 's/,.*//' file # changes the file in-place
    

    或者,使用两个步骤:

    sed 's/,.*//' file > file.modified && mv file.modified file
    
    • s/,.*// 替换 , 和它之后的所有字符

    如果您有多个字段并且想要其中的一个小子集,这可能会变得更加棘手。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 2013-06-02
      • 2022-01-08
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      相关资源
      最近更新 更多