Comment puis-je utiliser ls
sous linux pour obtenir une liste de la date et de la taille des noms de fichiers uniquement. Je n'ai pas besoin de voir les autres informations telles que le propriétaire ou l'autorisation. Est-ce possible?
Pourquoi ne pas utiliser stat
au lieu de ls
?
stat -c "%y %s %n" *
Vous pouvez contrôler la façon dont vous répertoriez les fichiers avec l'utilitaire find
. ls
ne vous permet pas vraiment de spécifier les colonnes souhaitées.
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'action printf
est détaillé dans la page de manuel. Vous pouvez choisir différentes informations de temps, quelle taille vous voulez (taille de fichier ou blocs de disque utilisés), etc. Vous pouvez également le rendre sûr pour les noms de fichiers inhabituels si un traitement supplémentaire est nécessaire.
Vous pouvez toujours utiliser un autre utilitaire comme awk
pour formater la sortie de ls
1:
/bin/ls -ls | awk '{print $7,$8,$9}'
1.Oui, généralement, vous ne devez pas analyser la sortie de ls mais dans ce cas, la question l'exige spécifiquement ...
Vous pouvez également utiliser la commande "date". Il est très simple d'utilisation:
date -r [nom de fichier]
Si vous souhaitez utiliser ls, mais conserver une taille appropriée, vous pouvez utiliser:
ls -Ss1pq --block-size=1
où l'espace est défini comme le séparateur et f6 signifie le champ 6
ls -lt | cut -d" " -f6-
Vous pouvez canaliser deux commandes
ls -l|cut -d" " -f5