Comment utiliser lslinux 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?
Comment utiliser lslinux 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?
Réponses:
Pourquoi ne pas utiliser statau lieu de ls?
stat -c "%y %s %n" *
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)
lsje peux le sortir avec un caractère séparateur de mille. Comment ça marche avec stat?
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' findutilitaire. lsne vous laisse pas vraiment spécifier les colonnes que vous voulez.
Par exemple:
$ find . -maxdepth 1 -printf '%CY%Cm%Cd.%CH%CM\t%s\t%f\n'
20111007.0601 4096 .
20111007.0601 2 b
20111001.1322 4096 a
L'argument de l' printfaction 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.
%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 awkpour formater la sortie de ls1 :
/bin/ls -ls | awk '{print $7,$8,$9}'
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 ...
lsest aliasé (par exemple alias 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.)
lslaquelle nous sommes tous les deux d’accord, ne va pas satisfaire aux exigences relatives aux espaces. La /bin/lssuggestion est bonne.
-hpour la rendre lisible par l'homme. Plus précisément je: ce ls -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:
date -r [nom du fichier]
date -r foo*.txt->date: extra operand "foo2.txt"
où l'espace est défini comme le séparateur et f6 le champ 6
ls -lt | cut -d" " -f6-
Vous pouvez pipeline deux commandes
ls -l|cut -d" " -f5
lsest 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 sortiesedafin 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 :)