2017-07-09 3 views
-6

J'ai un fichier texte qui contient environ un millier de noms de fichiers que je dois modifier légèrement. Chaque nom de fichier est une date et l'heure au format comme:Comment ajouter des points entre deux chiffres d'une sous-chaîne à six chiffres?

2013-05-01 120125.jpg 

Je dois convertir tous à:

2013-05-01 12.01.25.jpg 

Je suppose que ce serait assez trivial avec des expressions régulières, mais je suis toujours confondu quand j'essaye de faire n'importe quoi avec eux! L'aide est appréciée!

+5

Qu'avez-vous essayé? Montre ton travail. SO n'est pas un service de rédaction de code, vous devez faire votre propre travail et nous pouvons vous aider à résoudre les problèmes que vous rencontrez. – Soviut

+0

Quel langage/environnement exécutera cette regex? – mickmackusa

+0

Je vais très probablement exécuter l'expression rationnelle dans nano. Ce que j'essaye de faire est de changer en bloc les noms de fichiers en utilisant renameutils. Cela ouvre un fichier nano avec tous les noms de fichiers dans le dossier. –

Répondre

0

Utilisez des groupes de capture pour faire correspondre les chiffres et copiez-les sur le remplacement.

Remplacer: (\d\d)(\d\d)(\d\d)\.jpg

Avec: $1.$2.$3.jpg

$1, $2, $3 copier les parties de la chaîne d'origine que chaque groupe de capture adaptée.

-1

Comme mentionné par Soviut, SO est pour l'aide et ne pas faire le travail pour vous. Cela étant dit:

Si vous voulez faire quelque chose avec Regular Expressions, il vaut mieux aller sur le site Web Rubular qui vous permet de créer votre regex tout en voyant exactement quel résultat vous obtenez.

Rubular

+1

Quelque chose me dit que cette "réponse" ne devrait pas être ici, mais dans la section de commentaire à la place ... oh – Mateus

+1

Merci, je vais lire. Je n'essayais pas d'éviter de l'apprendre ... eh bien peut-être un peu ... Je me sens toujours très submergé par l'expression régulière. Ce n'est pas une aide aux devoirs ou quoi que ce soit, juste essayer de fusionner certains fichiers. –