У меня есть список, как ниже:Заменить повторяющиеся элементы в списке с уникальными идентификаторами
1 . Fred 1 6 78 8 09
1 1 Geni 1 4 68 9 34
2 . Sam 3 4 56 6 89
3 . Flit 2 4 56 8 34
3 4 Dog 2 5 67 8 78
3 . Pig 2 5 67 2 21
(кроме реального списка составляет 40 миллионов строк).
Там повторяются элементы во втором столбце (то есть «„)
Я хочу, чтобы заменить их уникальными identifers (например,“.1" ,» .2" ,»0,3" ... "п")
Я пытался сделать это с помощью петли Баш/SED комбинации, но это не работает ...
неудачная попытка:
for i in 1..4
do
sed -i "s_//._//."$i"_"$i""
done
(Esse я пытался заставить sed заменить каждый n th "." с помощью ". . п», но это не сработало)
Я понятия не имею, как это сделать с помощью 'СЭД . Однако некоторые из ответов [здесь] (http://stackoverflow.com/questions/12496717/sed-replace-pattern-with-line-number) могут помочь. – Mat
+1 для приятного и простого awk. – anubhava