删除多行中的重复字符串

Remove duplicate string in multiple lines

好的,我有一个来自 Audacity 的大型 ol' beat finder 标签输出,如下所示:

25.651000            25.651000
25.666000            25.666000
25.685000            25.685000
25.718000            25.718000
25.737000            25.737000
26.244000            26.244000
27.050425            27.052000
27.853000            27.853000
27.867000            27.867000
28.674000            28.674000

但是,如您所见,Audacity 决定将第一列复制两次。但是,我不想要第二列。无论如何删除第二列给我留下这样的东西?

25.651000
25.666000
25.685000
25.718000
25.737000
26.244000
27.050425
27.853000
27.867000
28.674000

大约有186行。

这应该可以为您完成;

cut -f 1 -d ' ' MyFile.txt

结果:

25.651000
25.666000
25.685000
25.718000
25.737000
26.244000
27.050425
27.853000
27.867000
28.674000

应该这样做:

awk '[=10=]=' MyFile.txt
25.651000
25.666000
25.685000
25.718000
25.737000
26.244000
27.050425
27.853000
27.867000
28.674000

这更安全,请参阅 Eds 评论。

awk '{print }' MyFile.txt

使用 GNU grep:

grep -oP ' \K[^ ]+' file

输出:

25.651000
25.666000
25.685000
25.718000
25.737000
26.244000
27.052000
27.853000
27.867000
28.674000

sed 给你:

sed 's/\(^.*\) .*$//' file
sed 's/ .*//' YourFile

删除从第一个 space 到最后

的所有内容