J'ai un dossier contenant des images et des fichiers XML avec les mêmes noms
donc un exemple sera p> et ainsi sur P> Je souhaite supprimer des fichiers XML qui n'ont pas leurs fichiers JPG correspondants P> Tous les fichiers sont dans le même dossier. P> OS - Ubuntu 16.04 LTS P> P>
3 Réponses :
Ce code Python peut vous aider, il vous suffit de modifier la variable du chemin.
import os from tqdm import tqdm path = 'your path' files = os.listdir(path) for file in tqdm(files): filename, filetype = file.split('.') if filetype == 'xml': continue imgfile = os.path.join(path, file) xmlfile = os.path.join(path, filename + '.xml') if not os.path.exists(xmlfile): print('{} deleted.'.format(imgfile)) os.remove(imgfile)
Techniquement, vous pouvez résoudre votre problème de cette manière, quelle que soit la ligne de commande ou toute langue de script
XML code> fichier et jpg code> H3> perl -MFile::Find -le 'find(sub{ ($_=$File::Find::name) && push(@xml,$_) }, "." ); END{ s/xml$/jpg/ && print -e $_ || (s/jpg$/xml/) && print $_ for @xml}'
1
./all-xml # ./all.jpg does not exist, yes it is our file
1
1
1
1
1
1
1
./one/D.xml # ./one/D.jpg does not exist so this file should be deleted
1
1
1
1
1
Qu'essayez-vous? Comment vos efforts ont-ils échoué?
Je suis Newbie avec Bash Scripting, alors ce que j'ai fait était d'utiliser l'interface graphique. J'ai zoomé jusqu'à ce que ne puisse voir que le XML et le JPG ensemble. Mais il y a 1000+ images si manuellement qu'il va prendre beaucoup de temps
Aussi, j'ai trouvé cela Stackoverflow.com/questions/34489948/...
Mais il fait le contraire de ce qu'il est censé
Avez-vous un répertoire imbriqué ou non?