我有一个包含许多行的文件blabla-any-characters**,**numbers-and-characters
我希望将所有内容保留在第一个逗号之前,并删除其他所有内容。
有什么提示如何用awk或sed做到这一点?
感谢
答案 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
将使用逗号分隔每条记录,然后只打印第一个元素。