regex 找到行中第一个逗号之后的所有内容并将其删除

dsf9zpds  于 2023-03-31  发布在  其他
关注(0)|答案(4)|浏览(106)

我有一个文件,其中包含一堆像这样的行blabla-any-characters**,**numbers-and-characters
我希望保留第一个逗号之前的所有内容,并删除其他所有内容。
有没有关于如何使用awk或sed完成这项工作的提示?
谢谢

ffx8fchx

ffx8fchx1#

你可以这样使用sed:

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

,.*$将匹配第一个逗号之后的任何内容,并将其替换为空字符串。
-i.bak用于sed中的内联编辑。

6rqinv9w

6rqinv9w2#

试试这个cut:

cut -d ',' -f 1 file
hsvhsicv

hsvhsicv3#

对于awk,您可以用途:

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

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

ruoxqz4g

ruoxqz4g4#

使用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

相关问题