Dans un répertoire contenant des milliers de fichiers versionnés (format ls -v, nomfichier ... nomfichier (n)), comment conserver uniquement la plus grande ou la plus petite taille (en octets, pas en version) de chaque fichier? Bonus supplémentaire s'il est également possible de garder les plus petits et les plus gros, le cas échéant. Conserver comme dans supprimer tous les autres.Conserver uniquement le fichier versionné le plus grand/le plus petit dans un répertoire?
Tous les outils shell unix habituels, préférez éviter xargs (le système hôte n'a pas installé xargs).
On peut croire que n'importe quel nom de fichier se terminant par (nombre) .ext est un fichier versionné.
Un peu difficile de répondre - pas assez d'informations. Si vous n'avez pas xargs, avez-vous la version gnu de la commande 'find'? Les filanems peuvent contenir des espaces ou des caractères étranges, comme des sauts de ligne? Les fichiers sont nommés "fichier.NNN.ext" ou "fichierNNN.ext"? Le numéro de version est un nombre ou plusieurs nombres reliés avec des points, comme 'file.1.5.4.ext'. Avez-vous d'autres commandes de base, comme' grep' 'sed'' sort' et comme? – jm666
Aucun gnu ne trouve non plus. Ce n'est pas une limite stricte que je peux bien sûr monter à distance sur les disques mais je préférerais le faire fonctionner à l'hôte qui est une boîte très simple. Toutes les commandes de shell habituelles mais très probablement pas de variations de GNU. – kilves76
Le numéro de version est toujours un nombre entre parenthèses filename (n) .ext (par exemple "filename (3) .ext", le fichier original est "filename.ext") et il est garanti qu'il n'y a pas d'autres nombres entre parenthèses dans les noms de fichiers . Les noms de fichiers normaux, l'espace est correct, les choses amusantes comme les sauts de ligne ne l'est pas. – kilves76