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

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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *