J'ai un fichier texte dont le contenu peut être en double. Voici une représentation simplifiée de mon fichier txt. text
signifie un caractère unique ou un mot ou une phrase). Notez que le séparateur ----------
peut ne pas être présent. En outre, tout le contenu du fichier se compose de caractères japonais et chinois unicode.Comment conserver la dernière occurrence de lignes dupliquées dans un fichier texte?
ÉDITÉ
sometext1
sometext2
sometext3
aaaa
sometext4
aaaa
aaaa
bbbb
bbbb
cccc
dddd
eeee
ffff
gggg
----------
sometext5
eeee
ffff
gggg
sometext6
sometext7:cccc
sometext8:dddd
sometext9
sometext10
Ce que je veux atteindre est de ne conserver que la ligne avec la dernière occurrence des doublons comme ceci:
sometext1
sometext2
sometext3
sometext4
aaaa
bbbb
sometext5
eeee
ffff
gggg
sometext6
sometext7:cccc
sometext8:dddd
sometext9
sometext10
Le plus proche que je trouve en ligne est How to remove only the first occurrence of a line in a file using sed mais cela nécessite que vous connaissez le (s) motif (s) à supprimer. Les sujets suggérés fournis lors de l'écriture du titre donnent Duplicating characters using sed et last occurence of date mais ils ne fonctionnaient pas.
Je suis sur un Mac avec Sierra. J'écris mes commandes exécutables dans un fichier script.sh pour exécuter les commandes ligne par ligne. J'utilise sed
et gsed
comme mes éditeurs de flux primaires.
Comment définissez-vous 'duplicates'? – Kent
Votre exemple n'est pas clair. Veuillez expliquer comment vous voyez votre mappage d'entrée sur cette sortie. – randomir
Pourquoi ccc et ddd ont-ils disparu? – 123