Shell : Selectionner et supprimer un fichier en double [Résolu/Fermé]

Signaler
-
Messages postés
35808
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
24 novembre 2020
-
Bonjour,

J'ai un petit soucis. dans un répertoire je dois vérifier si je n'ai pas de fichier en double, et si c'est le cas, je dois supprimer un des deux.
Dans le nom des fichiers en double, la seule chose qui varie c'est un nombre à la fin.

Par exemple:
Dans mon repertoire j'ai :
température_100m_123.grid
salinité_10m_1254.grid
température_50m_2569.grid
température_100m_258.grid

j'ai donc deux fois le fichier température_100m.
Il faudrait que mon script test si il y a doublon, et si oui (comme pour la température à 100m ici), il me supprime définitivement du répertoire celui dont le numéro est plus plus bas (correspond dans mon cas au plus ancien) en faisant par exemple un comparaison des deux nombres....
J'espère que vous pouvez m'aidez et merci d'avance à ce qui vont essayer...

1 réponse

Messages postés
18238
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 novembre 2020
5 098
hello
essayer
ls | sort -nrt _ -k 2,3 | awk -F _ '{t[$1, $2]=$0; t2[$2]++} END {for (n in t){split(t[n], a); if(t2[a[2]]>1) print t[n]}}'
Messages postés
35808
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
24 novembre 2020
5 672
mais je vois 2 ls ... tssss
Si on enlève le pipe de
xargs rm
(que tu n'as pas dans ta syntaxe), on en est à 2 paillepeux¹ chacun. Match nul, balle au centre ;-))


¹ Je l'écris phonétiquement pour éviter toute analogie à autre chose, hein ? ;-D
Messages postés
18238
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 novembre 2020
5 098
ceci n'est pas un tube de communication, dirait Magritte
Messages postés
35808
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
24 novembre 2020
5 672
C'est clair, on risque même l'excommunication sous certains cieux pour avoir communiqué par cette voie pénétrable s'il en est ;-))
Messages postés
18238
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 novembre 2020
5 098
la délation, c'est fou
Messages postés
35808
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
24 novembre 2020
5 672
;-))