find /tmp -printf "%s %p\n" |sort -n -r | head
Cette commande fonctionne bien mais quels sont les %s %p
options utilisées ici? Y a-t-il dautres options qui peuvent être utilisées?
Commentaires
- Jetez un œil à find ' page de manuel de s.
- duplication possible de Où trouver la référence de mise en forme printf?
Réponse
Quelles sont les options% s% p utilisées ici?
De la page de manuel :
% s Taille du fichier en octets.
% p Nom du fichier.
Faites défiler cette page au-delà de toutes les lettres normales pour printf et lisez les parties précédées dun%.
% n Nombre de liens physiques vers le fichier.
% p Fichier » snom.
% P Nom du fichier « avec le nom du point de départ sous lequel il a été trouvée supprimée.
% s Taille du fichier en octets.
% t Heure de la dernière modification du fichier au format renvoyé par la fonction C `ctime ».
Y a-t-il dautres options qui peuvent être utilisées?
Il y en a. Voir le lien vers la page de manuel.
Commentaires
- @don_crissti Je ' Je ne comprendrai jamais pourquoi les gens préfèrent la documentation Web aléatoire à la documentation installée sur leurs systèmes (qui a lavantage supplémentaire dêtre réellement pertinente pour leur système).
- @Kusalananda – Eh bien, je peux penser à un scénario dans lequel les gens incluraient un lien vers une page web au lieu dun devis de la documentation installée sur leur système: ils ' ne sont pas sur une machine Linux au moment de la rédaction du message … Cependant, le lien devrait pointer (imo) vers la documentation officielle (doù mon commentaire ci-dessus, qui, pour une raison inconnue, a été supprimé par les mods …). Cela mis à part, je suis tout à fait daccord avec vous: lOP devrait consulter la page de manuel installée sur son système.
- @don_crissti Ou ils sont sur un serveur sur lequel aucune page de manuel nest installée, ce qui est plutôt fréquent.
- Ma page de manuel a tendance à provenir de FreeBSD. Sauf si jai une machine virtuelle Linux à portée de main. Et jai limpression que la plupart des questions sont basées sur GNU / Linux.
- Je devrais aussi ajouter que, en plus de la sortie écrasante et souvent insondable des pages de manuel pour les utilisateurs relativement inexpérimentés, en tant que programmeur / utilisateur expérimenté, je ' recherche généralement de nouvelles solutions que les pages de manuel ' ne couvrent pas. Par exemple (tout à lheure), format de date spécifique pour la sortie de la commande ' find '. La page de manuel ne ' t vous dit pas de mettre "% T " devant chaque variable – du moins pas que jai trouvé même à la recherche de cela spécifiquement. Vous pourriez passer toute la journée à essayer de le comprendre. (Ou simplement donner.) Alors quune recherche sur Stack Exchange donnera cette réponse, clairement expliquée, dans le premier résultat.
Réponse
Barrett 2012 dit à la page 74:
» -printf
string
affiche la chaîne donnée, à laquelle peuvent être appliquées des substitutions à la manière de la fonction de bibliothèque C printf()
. «
et recommande, bien sûr, le page de manuel pour la liste complète des options. Alors que des choses comme find . -printf "%s %p\n"
sont expliquées, dautres non. @jim
a mentionné lutilisation de %T
. Jutilise personnellement un script avec une ligne similaire à find . -printf "%T@ %p\n"
sans jamais pouvoir comprendre ce quest ce %T@
. Quelquun peut-il référencer une source explicative pour ces options qui ne se trouve pas dans les pages de manuel?
Commentaires
- Qui ' Est-ce que cest Barrett?
- @Kusalananda, Daniel J. Barrett, auteur du " Guide de poche Linux " , la citation de la page fait référence à la deuxième édition. Avant de vous précipiter à la bibliothèque, sachez que la solution à cette question nest pas de sy trouver. Sinon, cest un très bon guide.
- Peut-être manquer dans la page de manuel de find ' dans la journée. Vous devriez maintenant voir une entrée spécifiquement pour% Tk, où k est la même notation que celle utilisée dans% Ak.Qui déclare: @ = secondes depuis le 1er janvier 1970, 00:00 GMT, avec partie fractionnaire.
- @Nicholi | merci, cela a du sens. Les heures dans dautres formats ne parviennent parfois pas à trier les choses correctement.