在第一个逗号后面找到所有内容并删除它

时间:2015-08-12 17:10:23

标签: bash awk sed

我有一个包含许多行的文件blabla-any-characters**,**numbers-and-characters我希望将所有内容保留在第一个逗号之前,并删除其他所有内容。
有什么提示如何用awk或sed做到这一点? 感谢

4 个答案:

答案 0 :(得分:3)

您可以像这样使用sed:

sed -i.bak 's/,.*$//' file

,.*$将匹配第一个逗号后的任何内容,并将其替换为空字符串。

-i.bak用于在sed中进行内联编辑。

答案 1 :(得分:2)

您可以相对轻松地使用awk

$ cat test.txt
blabla-any-characters**,**numbers-and-characters
john,smith
hello,world

$ awk -F',' '{print $1}' test.txt
blabla-any-characters**
john
hello

答案 2 :(得分:2)

尝试使用cut:

cut -d , -f 1 file

答案 3 :(得分:0)

对于awk,您可以使用:

awk -F"," '{print $1}' file

将使用逗号分隔每条记录,然后只打印第一个元素。