La fonction intégrée d'OS X ls
ne prend pas d'arguments de formatage de temps, mais la commande stat
prend des chaînes au format strftime, de sorte que vous pouvez obtenir une approximation de ce que vous voulez en faisant :
stat -l -t '%FT%T' *
Le site %FT%T
produit un horodatage local ISO8601. Ajouter un %z
si vous voulez un décalage UTC.
Mais si l'horodatage est correct, le reste n'est qu'une approximation de ce que vous obtiendriez avec ls. Par exemple, ls -l
aligne correctement les champs dans les colonnes, peut coloriser la sortie, et bien sûr, il liste le contenu des répertoires plutôt que de vous demander de passer tous les noms de fichiers comme arguments. Vous pouvez au moins reproduire l'alignement correct en faisant passer la sortie par la commande tr
pour convertir tous les espaces en tabulations :
stat -l -t '%F%T' * | tr ' ' \\t
Alternativement, je pense qu'il devrait être possible d'obtenir ls -l
de produire un timestamp ISO8601 en définissant une locale personnalisée, mais je ne l'ai pas vu faire.
1 votes
Une non-réponse, mais qui peut quand même être utile : La commande stat(1) est assez flexible et peut être utilisée pour afficher les horodatages dans n'importe quel format.
0 votes
Gls (gnu ls) que j'ai mentionné dans ma réponse peut prendre un drapeau --style= où vous pouvez spécifier une chaîne +FORMAT, ainsi vous pouvez faire apparaître la date comme vous le souhaitez.
0 votes
J'aimerais connaître un moyen. Le manuel BSD d'Apple pour
ls
semble ne rien proposer pour le formatage des dates, à part la modification du fuseau horaire et le tri par date plutôt que par alpha. developer.apple.com/library/mac/documentation/Darwin/Référence/