text - 如何使用 sed 从分隔文件中提取字段

标签 text awk sed centos

我正在使用centos 7 linux

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

例子:

test@test.com,test

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

最佳答案

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

我们可以使用sed同样,根据您的问题:

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

或者,使用两个步骤:
sed 's/,.*//' file > file.modified && mv file.modified file
  • s/,.*//替换 ,后面的所有字符都没有

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

    关于text - 如何使用 sed 从分隔文件中提取字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44079009/

    相关文章:

    mysql - 在 MySQL 中使用哪种文本数据类型是正确的?

    text - awk - 比较两个文件,匹配一个字段,合并两个文件

    python - 是否有一个 python 正则表达式来查找街道名称,后跟一个或多个人,后跟门牌号?

    linux - 如何执行使用 for 循环列出的目录列表的操作?

    linux - 如何在 Linux 中删除文件中的特定重复字符串

    bash - 如何计算bash中单词后的所有数字

    regex - 使用awk将第一列从十六进制转换为十进制

    javascript - 如何通过复制/粘贴到文本区域来生成 HTML 标签

    linux - 关于使用 bash/sed/awk 脚本重新排序网络路由文件的方法的思考

    math - 如何强制 AWK 将字符串计算为数学表达式?