Mise à jour de la date d'accès d'un fichier en ligne [Réglé]

Tonin Membre non connecté
-
- Voir le profil du membre Tonin
- Inscrit le : 02/07/2013
- Groupes :
Reprise du message précédent
Je ne te suis pas tout à fait... voudrais-tu dire que date est un mot réservé ? je ne vois pas de quels espaces tu parles, peut-être ma mise en forme au niveau du while read ?Mageia 9 | > | Mageia 5 - 32bits - LXDE - Compiz ; ... Mandriva ; ... power pack, Mandrake 7.0 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Par exemple, file, pour indiquer le type de fichier.
As-tu une image contenant une espace dans son nom ?
Peux-tu jouer file sur tous les fichiers ?
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Tonin Membre non connecté
-
- Voir le profil du membre Tonin
- Inscrit le : 02/07/2013
- Groupes :
J'ai opté pour la commande basename, plutôt que file. Parce que je ne crois pas avoir de nom de fichier avec espace, et basename fonctionnera très bien sur des noms de fichiers fictifs.
Après quelques fouilles, une élimination de la fonction awk system(), voici ce que je proposerais avec awk :
PS : La soupe de langages commence à prendre une allure moins digeste, mais que fait la reconnaissance syntaxique ?
echo "${real_content}" | awk 'BEGIN {FS = "|" ; printf("%40s %15s %-8s\n","path","date","time")} NR>1 {cmd="basename \"" $1 "\"" ; cmd | getline myResult ; close(cmd) ; printf("%40s %15s %-8s\n",myResult,$2,$3)}'
path date time picture0958.jpg 2023-03-20 08:35:46 une espace.jpg 2023-03-20 08:35:46 l'apostrophe.jpg 2023-03-20 08:35:46
Édité par Tonin Le 04/04/2023 à 13h41
Mageia 9 | > | Mageia 5 - 32bits - LXDE - Compiz ; ... Mandriva ; ... power pack, Mandrake 7.0 |

Tonin Membre non connecté
-
- Voir le profil du membre Tonin
- Inscrit le : 02/07/2013
- Groupes :
magic-number c'est un joker ? En tout cas, je suis d'accord que c'est complexe et un peu obscur (d'autant que je ne maîtrise pas du tout ce langage).
En l'occurrence, date est ici simplement un nom de champ.
https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html
https://mariadb.com/kb/en/date-time-functions/
Mageia 9 | > | Mageia 5 - 32bits - LXDE - Compiz ; ... Mandriva ; ... power pack, Mandrake 7.0 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Par exemple, diviser par 60 pour convertir un temps de secondes en minutes :
Option magic number :
retour_minutes = entré_secondes / 60
Option qualité :
Secondes_par_minute = 60 Retour_minutes = entré_secondes / secondes_par_minutes
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
J'ai opté pour la commande basename, plutôt que file. Parce que je ne crois pas avoir de nom de fichier avec espace, et basename fonctionnera très bien sur des noms de fichiers fictifs
Mauvaise pioche ! Basename est juste un truc qui manipule des chaines de caractères, il n'y a aucune vérification, s'arrête au premier séparateur. Alors que file, cherche véritablement un fichier, ou plusieurs.
[Bananageia@bananaPro ~]$ basename ./path/un file.txt un [Bananageia@bananaPro ~]$ file ./path/un file.txt ./path/un: cannot open `./path/un' (No such file or directory) file.txt: cannot open `file.txt' (No such file or directory)
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Tonin Membre non connecté
-
- Voir le profil du membre Tonin
- Inscrit le : 02/07/2013
- Groupes :
Je ne suis pas d'accord sur la mauvaise pioche. À moins que tu veuilles confronter awk à la gestion d'erreurs retournées par les commandes ?
basename './path/un file.txt' option_qualite='./path/un file.txt' basename $option_qualite file $option_qualite
un file.txt un file.txt ./path/un file.txt: ASCII text, with very long lines
Édition : "toujours utiliser les accolades pour les variables, même simple variables", même si dans cet exemple simple ils ne sont pas nécessaires.
basename ${option_qualite} file "${option_qualite}"
Édité par Tonin Le 02/04/2023 à 10h44
Mageia 9 | > | Mageia 5 - 32bits - LXDE - Compiz ; ... Mandriva ; ... power pack, Mandrake 7.0 |