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

时间:2017-05-19 21:07:53

标签: text awk sed centos

使用centos 7 linux

我有一个文本文件,其中有许多行以相同格式发送电子邮件,密码

示例:

测试@ test.com,测试

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

2 个答案:

答案 0 :(得分:2)

cut -d, -f1 yourfile 要么 awk -F, '{print $1}'

答案 1 :(得分:2)

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

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

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

或者,使用两个步骤:

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

如果您有多个字段并希望从中获得一小部分,这可能会变得更加棘手。