使用awk删除分号后的所有文本

使用awk删除分号后的所有文本,awk,Awk,我试图使用awk解析下面的输出,以删除每行分号后的所有文本。谢谢:) file1.txt chr1 40539722 40539865 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1 chr1 40542503 40542595 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT

我试图使用
awk
解析下面的输出,以删除每行分号后的所有文本。谢谢:)

file1.txt

chr1 40539722 40539865 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1 
chr1 40542503 40542595 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1 
chr1 40544221 40544340 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1 
chr1 40546058 40546169 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1
chr1 40539722 40539865 PPT1
chr1 40542503 40542595 PPT1
chr1 40544221 40544340 PPT1
chr1 40546058 40546169 PPT1
所需结果.txt

chr1 40539722 40539865 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1 
chr1 40542503 40542595 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1 
chr1 40544221 40544340 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1 
chr1 40546058 40546169 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1
chr1 40539722 40539865 PPT1
chr1 40542503 40542595 PPT1
chr1 40544221 40544340 PPT1
chr1 40546058 40546169 PPT1

这样做有什么不对吗

awk -F ';' '{ print $1 }'

??看起来简单多了。

您想
剪切文件并在
上显示第一个字段-分隔值。那么使用
cut
本身呢

$ cut -d';' -f1 file
chr1 40539722 40539865 PPT1
chr1 40542503 40542595 PPT1
chr1 40544221 40544340 PPT1
chr1 40546058 40546169 PPT1

-d
设置分隔符,
-f
指示要打印的字段。

或类似的
sed s/;*/'file1.txt>result.txt
感谢您的帮助,并向我介绍了
cut
:)。不客气;)请注意,你可以接受一个答案,但可以向上/向下投票所有答案(我这样说是因为你接受了一个答案,然后是另一个答案,你可以随意向上/向下投票任何你想要的答案)。