0
votes

Comment diviser le chiffre sur une condition et unir à travers un diviseur?

Il existe une variable contenant 20190105221953.ogg ,
Vouloir qu'il se tourne vers "2019-01-05 19:59:53"

essayé d'appliquer regex avec la quantité nécessaire de chiffres grep -eo '[[[: chiffre:]] {4}'
Mais cela ne fonctionne pas.


2 commentaires

Où est-ce que le 19:59:50 vient de: o?


Vous pouvez toujours utiliser la sous-chaîne: "$ {var: 0: 4} - $ {var: 4: 2} ..." .


3 Réponses :


0
votes

merci, pesathe! xxx


3 commentaires

Considérer peut-être plus court: var = $ (date + "% f% t"); echo "$ {var} >> $ {var // [-:]}. OGG" .


var = date + "% y% m% m% h% m% s" .ogg - ce nom de fichier dynamique testé uniquement, nom de fichier 20190105221953.ogg ne change pas.


Je vois. Je pensais créer un nom de fichier et imprimer la date dans un format lisible.



1
votes

Vous pouvez essayer de convertir votre chaîne en DateTime avec Date Commande:

date -d "$ {var: 0: 8} $ {var: 8: 2}: $ {var: 10: 2}: $ {var: 12: 2}" + "% y- % M-% D% H:% m:% s "

Ceci peut aider à la sortie flexible de la date en modifiant "% y-% m-% d% h:% m:% s"


0 commentaires

0
votes

Bien qu'il semble maladroit d'utiliser sed ...: xxx


0 commentaires