J'essaie d'obtenir les fichiers plus anciens que plusieurs jours et de les répertorier par ordre décroissant en fonction de leur taille avec toutes leurs informations (taille, chemin complet, etc. - quelque chose de similaire qui est fourni par ls
).
Bien que je puisse localiser des fichiers plus anciens avec:
find . -mtime +10
Je ne suis pas en mesure de lister les informations souhaitées.
Réponses:
À condition que vos chemins de fichier ne contiennent pas de caractères de nouvelle ligne:
Voir le
find
manuel , sectionActions
.%s
Taille du fichier en octets.%n
Nombre de liens durs vers le fichier.%m
Bits d'autorisation du fichier (en octal ).%u
Nom d'utilisateur du fichier ou ID utilisateur numérique si l'utilisateur n'a pas de nom.%g
Nom de groupe du fichier ou ID de groupe numérique si le groupe n'a pas de nom.%t
Dernière heure de modification du fichier au format renvoyé par lactime
fonction C.%p
Nom du fichier.%l
Objet du lien symbolique (chaîne vide si le fichier n'est pas un lien symbolique).BTW: Notez que le manuel POSIX
find
ne spécifie pas la plupart des actions ci-dessus.la source
Cette commande utilise uniquement les fonctionnalités POSIX de
find
et dels
:Cependant, il peut appeler
ls
plusieurs fois s'il existe un très grand nombre de fichiers dans le répertoire courant (ou sous-répertoires récursivement) correspondant au-mtime +10
primaire.S'il appelle
ls
plus d'une fois, bien sûr, le tri ne sera effectué qu'à l'intérieur de chaquels
exécution, pas sur plusieurs exécutions.Pourtant, pour un nombre raisonnable de fichiers, c'est probablement votre meilleur pari.
la source
ls
un seul argument est passé, il y a peu de tri qu'il peut y faire. Avec+
au lieu de;
, ce serait mieux, maisls
pourrait toujours être appelé plusieurs fois s'il y a beaucoup de fichiers.Avec
zsh
:Ou pour éviter le double tri (par nom par zsh et par taille par ls):
ou (si votre
ls
soutien-U
pour non trié):Ajoutez le
D
qualificatif glob si vous souhaitez également voir les fichiers cachés.la source
zargs
.Je pense que vous pourriez faire quelque chose de similaire à:
notez le
-S
paramètre dels
commande:la source
/home/phphil
. Essayezls -ld ...
find . -type f
place?find ... -type f
fonctionnerait, tout comme l'ajout du-d
drapeau àls
essaye ça:
la source
Pour une ligne plus simple, vous pouvez utiliser l'
find
option-ls
. Il apparaît dans la plupart des cas que la taille du fichier se trouve dans la septième colonne des informations répertoriées (changez donc7
à la fin de la commande si cela n'est pas le cas):la source
Une autre variante serait d'utiliser:
Voici la commande:
la source