Comment utiliser ls
linux pour obtenir une liste des noms de fichiers par date et par taille uniquement. Je n'ai pas besoin de voir les autres informations telles que le propriétaire ou la permission. Est-ce possible?
linux
command-line
files
ls
Auriculaire
la source
la source
ls
est génial parce que le tri par date / heure est très rapide, mais le formatage est difficile à gérer. Je suggère d'utiliser un jeton dans le style --time comme--time-style='+&%Y%m%d+%H%M%S.%N'
où le jeton est '&', en utilisant cette référence comme référence, vous pouvez analyser davantage la sortiesed
afin que vous puissiez également effectuer un retour en arrière, juste avant la taille du jeton! Si quelqu'un veut poster cela comme réponse complète, n'hésitez pas, je suis trop endormi maintenant :)Réponses:
Pourquoi ne pas utiliser
stat
au lieu dels
?la source
find . -type f -print0 | xargs -0 stat -c "%y %s %n"
stat
, vous pouvez ajouter des informations sur la largeur à la chaîne de formatage, comme la fonction C printf, par exemple"%y %8s %n"
, elle n'est pas documentée, mais semble fonctionner (coreutils 8.17, Fedora 18)ls
je peux le sortir avec un caractère séparateur de mille. Comment ça marche avecstat
?ls
. Qu'en est-il des couleurs ??Vous pouvez obtenir beaucoup de contrôle sur la façon dont vous répertoriez les fichiers avec l'
find
utilitaire.ls
ne vous laisse pas vraiment spécifier les colonnes que vous voulez.Par exemple:
L'argument de l'
printf
action est détaillé dans la page de manuel. Vous pouvez choisir différentes informations temporelles, la taille souhaitée (taille du fichier ou des blocs de disque utilisés), etc. Vous pouvez également sécuriser cette option pour les noms de fichiers inhabituels si un traitement supplémentaire est nécessaire.la source
%C+
(sortie "2016-08-29 + 10: 57: 56.9201257840") et%Cc
(sortie "Mo 29 août 2016 10:57:56 CEST")Vous pouvez toujours utiliser un autre utilitaire comme
awk
pour formater la sortie dels
1 :1.Oui, en règle générale, vous ne devriez pas analyser la sortie de ls, mais dans ce cas, la question le demande spécifiquement ...
la source
ls
est aliasé (par exemplealias ls='ls -i'
). Vous devez vraiment faire très attention si vous voulez analyser les résultats de ls.ls
, mais c’est ce que le PO voulait .../bin/ls
éviterait le problème d'alias.)ls
laquelle nous sommes tous les deux d’accord, ne va pas satisfaire aux exigences relatives aux espaces. La/bin/ls
suggestion est bonne.-h
pour la rendre lisible par l'homme. Plus précisément je: cels -lah | awk '{print $5,$6,$7,$8}'
qui donne:4.0K Jan 24 18:17
. Certes, la solution d'origine ne dit rien sur awk, mais sous Linux, nous devrions supposer que la sortie d'un processus sera toujours l'entrée d'un autre processus, n'est-ce pas? ;)Vous pouvez également utiliser la commande 'date'. C'est très facile à utiliser:
la source
date -r foo*.txt
->date: extra operand "foo2.txt"
Si vous souhaitez utiliser ls, mais en conservant la taille appropriée, vous pouvez utiliser:
la source
où l'espace est défini comme le séparateur et f6 le champ 6
la source
Vous pouvez pipeline deux commandes
la source
ls -s1 renvoie la taille et le nom du fichier uniquement sous AIX, mais vous n'êtes pas sûr de Linux
la source