LINUX.ORG.RU

удалить повторы bash

 


0

4

В файле есть строки типа

54876583767589 jgfnbkjnfdbjkdn5
53743765376556 gfhdfnhjtrhrhjkrkt
54565467656461 dfgfdggfdhdfhdgfh
53743765376556 dsgdfsgfdsgsdfg
53743765376556 fdgfdssdfhfgh
Вопрос: как удалять строки в которых часть до пробела повторяется? Оставив только первую копию. Т.е в моем примере должно остаться:
54876583767589 jgfnbkjnfdbjkdn5
53743765376556 gfhdfnhjtrhrhjkrkt
54565467656461 dfgfdggfdhdfhdgfh

Заранее спасибо.

Нужно именно на Баше? Зачем? Но пожалуйста:

#!/bin/bash

declare -A B
while read a b; do
    if [[ ! ${B[$a]} ]]; then
        printf '%s %s\n' "$a" "$b"
        B[$a]=1
    fi
done

А за такие примеры по пальцам бить надо.

Zmicier ★★★★★
()
for i in `cat $file | awk '{print $1}' | sort | uniq`; do
   grep $i $file
done
slowpony ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.