请考虑以下示例:
两列数据:
ti piace o no la apple p181026 07348
ti piace o no la apple p181026 07349
ti piace o no la apple p181026 07345
p[0-9]\s[0-9]
序列与第一列 tab 分开的地方。
我只想根据第一列(行的字母部分)删除重复项。我尝试过:
sort -u -t$'\t' -k1 -nr inputfile > out
和
sort -t$'\t' -k1 -nr inputfile | uniq > out
没有成功。恐怕我缺少明显的东西,但是即使就此事咨询其他相关的questions,我仍然无法弄清楚。
提前感谢您与我分享您的经验。
答案 0 :(得分:1)
使用GNU排序和bash:
sort -t $'\t' -k 1,1 -u file
输出:
ti piace o no la apple p181026 07348
答案 1 :(得分:0)
由于样本中的分隔符不清楚,因此我要使用您提到的p[0-9]\s[0-9]
正则表达式,请您试一下。
awk 'match($0,/p[0-9]+ +[0-9]+]*/){a=substr($0,1,RSTART-1)} !array[a]++' Input_file