Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
20 juin 2016

htmlpdflatexmanmd




pv

pv

Superviser la progression des données via un pipe

   pv affiche la progression des données via un pipeline en donnant des informations tel que le temps passé, le pourcentage complété (avec barre de progression), Taux, total transféré, et ETA. Pour l'utiliser, l'insérer dans un pipeline entre 2 processus, avec les options appropriées. Son entrée standard sera passé à sa sortie standard et la progression sera affichée sur l'erreur standard. pv copie chaque fichier fournis en retour sur la sortie standard. Si aucun fichier n'est spécifié, copie simplement l'entrée standard, et fonctionne comme cat.

Options d'affichage

-p, --progress Active la barre de progression. Si l'entrée standard n'est pas un fichie et qu'aucune taille n'est donnée, la barre ne peut pas indiquer la progression, et se déplace donc de gauche à droite pour indique que les données sont en cours de déplacement
-t, --timer Active le timer. Affiche le temps passé total.
-e, --eta Active le timer ETA. Il tente de le deviner, basé sur les taux de transfert précédents et la taille totale des donnée.
-I, --fineta Active le timer ETA, mais affiche la date locale estimée de l'arrivée au lieu du temps passé.
-r, --rate Active le compteur de taux.
-a, --average-rate Affiche le compteur moyen de taux
-b, --bytes Affiche le compteur d'octets total
-T, --buffer-percent Active l'affichage du % de tampon transféré.
-A, --last-written NUM Affiche les dernier NUM octets écris
-F, --format FORMAT Ignore les options -p, -t, -e, -r, -a- -b, -T et -A et utilise le format spécifié pour déterminer le format de sortie.
-n, --numeric Sortie numérique. Au lieu de donner une indication visuelle de la progression, pv donne un entier en %, un par ligne, sur l'erreur standard.
-q, --quiet Pas de sortie. Utile avec -L

Options de sortie

-W, --wait Attend que le premier octet soit transféré avant d'afficher la barre de progression ou calculer tout ETA.
-D, --delay-start SEC Attend le délai spécifié avant afficher les informations de progression
-s SIZE, --size SIZE Assume que la quantité totale de données à transférer est SIZE octets en calculant les pourcentages et les ETA.
-l, --line-mode Au lieu de compter les octets, compte les lignes.
-0, --null Compte les lignes terminées par un caractère null. implique --line-mode
-i SEC, --interval SEC délai de mise à jours. (défaut: toutes les secondes)
-w WIDTH, --width WIDTH Assume que le terminal fait WIDTH caractères de large (défaut: 80 s'il ne peut pas le deviner)
-H HEIGHT, --height HEIGHT Assume que le terminal fait HEIGHT lignes de haut (défaut: 25 s'il ne peut pas le deviner)
-N NAME, --name NAME Préfixe les informations de sortie avec le nom spécifié.
-f, --force Force la sortie. Normalement, pv ne sort pas d'affichage visuel si l'erreur standard n'est pas un terminal.
-c, --cursor Utilise les séquences de positionning du curseur au lieu des retours charriot.

Options de transfert

-L RATE, --rate-limit RATE Limite le taux de transfert
-B BYTES, --buffer-size BYTES Utilise une taille de tampon de transfers à la taille spécifiée
-C, --no-splice N'utilise jamais splice(2), même si c'est possible. cet appel système est une manière plus efficace de transférer des données dans un pipe que read(2) et write(2), mais signifie que le tampon de transfert ne peut pas être utilisé. Cela empêche -A et -T de fonctionner.
-E, --skip-errors Ignore les erreurs de lecture en tentant de sauter ces sections. (similaire à dd conv=sync, noerror)
-S, --stop-at-size Si une taille est spécifiée avec -s, stop le transfert une fois cette taile atteinte.
-d PID[:FD], --watchfd PID[:FD] Au lieu de transférer des données, lit de descripteur de fichier du PID spécifié.
-R PID, --remote PID Si PID est une instance de pv qui est déjà en cours de fonctionnement, cette option force cette instance à agir comme si elle avait été donnée sur la ligne de commande.

Options générales

-P FILE, --pidfile FILE Sauve le PID de pv dans le fichier spécifié.

Formattage

   l'option -F permet de déterminer le format de sortie. les séquences suivantes peuvent être utilisées:

%p Barre de progression. Équivalent à -p
%t Temps passé. Équivalent à -e
%e Temps restant ETA. Équivalent à -e
%I Temps local ETA restant. Équivalent y -I
%r Taux de transfert de données courant. Équivalent à -r
%a Taux de transfert moyen des données. Équivalent à -a
%b Octets transférés. Équivalent à -b
%T % de tampon de transfert utilisé. Équivalent à -T
%nA Affiche les derniers n octets écrits.
%N préfix à ajouter. Équivalent à -N
%% le caractère %

Codes de sortie

1 Indique un problème avec les options -R ou -P
2 Un ou plusieurs fichiers ne peuvent pas être accedés, stat(2) ou ouverts
4 Un fichier d'entrée est le même que le fichier de sortie
8 Erreur interne avec la fermeture d'un fichier ou en passant au fichier suivant
16 Erreur en transférant des données
32 Un signal a fait quitté prématurément
64 Erreur d'allocation mémoire

Exemples

voir la vitesse de transfert de fichie avec nc:
pv file | nc -w 1 somewhere.com 3000
transférer un fichier d'un autre processus et passer la taille attendue à pv:
cat file | pv -s 12345 | nc -w 1 somewhere.com 3000
Exemple plus complexe utilisant une sortie numérique pour aller dans dialog pour un affichage de progression plein-écran
(tar cf - . | pv -n -s $(du -sb . | awk '{print $1}') | gzip -9 › out.tgz) 2›&1 | dialog --gauge 'Progress' 7 70
Prend une image d'un disque, en sautant les erreurs:
pv -EE /dev/sda › disk-image.img
Écrire une image dans un disque
pv disk-image.img › /dev/sda
Remplir un disque de 0. Noter que si l'entrée ne peut pas être calculée, et que la sortie est un périphérique block, la taile du périphérique block sera utilisé et pv stopera automatiquement à cette taille.
pv ‹ /dev/zero › /dev/sda
Voir le descripteur 3 ouvert par un autre processus:
pv -d 1234:3
Voir tous les descripteurs de fichier utilisés par le processus 1234
pv -d 1234
^
07 juin 2010

htmlpdflatexmanmd




fmt

fmt

Joint les lignes d'un fichier pour produire des lignes d'un nombre donné de caractères - 75 par défaut

   Par défaut, les lignes blanches, les espaces entre les mots et l'indentation sont préservés dans la sortie; les lignes successives avec différentes indentations ne sont pas jointes; les tabulations sont étendues en entrées et introduits sur la sortie.

  fmt préfère couper les lignes à la fin d'une phrase, et essaye d'éviter de couper une ligne après le premier mot d'une phrase ou avant le dernier mot d'un phrase. Une coupe de phrase est définie soit à la fin d'un paragraphe ou un mot se terminant par '.' '?' ou '!', suivi par 2 espaces ou la fin d'une ligne, en ignorant les parenthèses ou guillemets.

OPTIONS

-C, --compare Compare chaque paire de fichier source et destination, et si la destination à un contenu identique, ainsi que le user, group et permissions, alors ne modifie pas la destination du tout.
-c, --crown-margin Préserve l'indentation des 2 premières lignes dans un paragraphe, et aligne la marge de gauche de chaque ligne suivante avec la seconde ligne.
-t, --tagged-paragraph Identique à -c, excepté que si l'indentaton de la première ligne d'un paragraphe est la même que l'indentation de la seconde, la première ligne est traitée comme un paragraphe à une ligne.
-s, --split-only Coupe les lignes uniquement, Ne joint pas les lignes courtes.
-u, --uniform-spacing Réduit l'espace entre les mots à un espace, et l'espace entre les phrases à 2 espaces.
-WIDTH, -w WIDTH, --width=WIDTH Définit le nombre de caractères par ligne (75 par défaut)
-p PREFIX, --prefix=PREFIX Seul les lignes commençant avec PREFIX sont sujet à formatage.
^
07 juin 2010

htmlpdflatexmanmd




pr

pr

Pagination et multi-colonnes

   pr Écrit chaque fichier ou l'entrée standard sur la sortie standard, pagine et optionnellement sort en format multicolonnes et/ou regroupe tous les fichiers, imprime tout en parallèle, un par colonne.

  Par défaut, un en-tête à 5 lignes est imprimé à chaque page: 2 lignes blanches, une ligne avec la date, le nom du fichier, et le compteur de page, 2 lignes blanches. La longueur par défaut de PAGE_LENGTH est de 66 lignes. Le nombre par défaut de ligne de texte est donc de 56. La ligne de texte de l'en-tête prend la forme DATE STRING PAGE.

  Les colonnes ont une largeur égale, séparée par une chaîne optionnelle (un espace par défaut). Pour les sorties multi-colonnes, les lignes seront toujours tronquées à PAGE_WIDTH (défaut : 72). Pour les sorties simple colonne, aucune ligne n'est tronquée par défaut.

OPTIONS

+FIRST_PAGE[:LAST_PAGE, --pages=FIRST_PAGE[:LAST_PAGE] Commence à afficher avec FIRST_PAGE et stop avec LAST_PAGE.
-COLUMN, --columns=COLUMN Produit COLUMN colonnes en sortie.
-a, --across Affiche les lignes alterné sur les colonnes (type ligne1 ligne2 ligne3...)
-c, --show-control-chars Affiche les caractères de contrôle
-d, --double-space Double l'espace de sortie
-D FORMAT, --date-format=FORMAT Format l'en-tête en utilisant FORMAT, en utilisant la même convention que `date +FORMAT` (défaut : %Y-%m-%d %H :%M et si POSIXLY_CORRECT est spécifié : %b %e %H :%M %Y)
-e[IN-TABCHAR[IN-TABWIDTH]], --expand-tabs[=IN-TABCHAR[IN-TABWIDTH]] Étend les tabulations en espaces en entrée. IN-TABCHAR est le caractère de tabulation en entrée et IN-TABWIDTH et la largeur de la tabulation (par défaut 8)
-f, -F, --form-feed Utilise un saut de page au lieu de newlines pour séparer les pages de sortie. n'altère pas la longueur de page de 66 lignes.
-h HEADER, --header=HEADER Remplace le nom de fichier dans l'en-tête avec la chaine STRING
-i[OUT-TABCHAR[OUT-TABWIDTH]], --output-tabs[=OUT-TABCHAR[OUT-TABWIDTH]] Remplace les espaces avec des tabulations en sortie. OUT-TABCHAR est le caractère de tabulation, OUT-TABWIDTH est la largeur de la tabulation (défaut 8)
-J, --join-lines Fusionne les lignes de pleine longueur. Utilisé avec l'option -COLUMN, -a -COLUMN ou -m. Désactive l'option -w/-W. Aucun alignement de colonne n'est utilisé. Peut être utilisé avec --sep-string[=STRING]
-l PAGE_LENGTH, --length=PAGE_LENGTH Définit la longueur de page à PAGE_LENGTH (défaut 66 lignes) si inférieur à 10, l'en-tête et pied de page sont omis.
-m, --merge Fusionne et affiche tous les fichiers en parallèle, un dans chaque colonne. Si une ligne est trop large elle est tronquée, à moins que -J soit utilisé.
-n[NUMBER-SEPARATOR[DIGITS]], --number-lines[=NUMBER-SEPARATOR[DIGITS]] Numérote les lignes avec des nombre à DIGITS chiffres. NUMBER-SEPARATOR est le caractère entre le numéro de ligne et le texte.
-N LINE_NUMBER, --first-line-number=LINE_NUMBER Définis le numéro de la première ligne.
-o MARGIN, --indent=MARGIN Indente chaque ligne avec une marge de MARGIN espace.
-r, --no-file-warnings N'affiche pas de message d'erreur quand un fichier ne peut pas être ouvert.
-s[CHAR], --separator[=CHAR] Sépare les colonnes par un simple caractère (une tabulation par défaut sans -w et aucun caractère avec -w)
-SSTRING, --sep-string[=STRING] Utilise STRING pour séparer les colonnes en sortie. n'affecte pas -w/-W.
-t, --omit-header N'imprime pas l'en-tête usuel (et le pied de page), et ne remplit pas le bas des pages. Aucune structure de page n'est produite, la pagination pré-définie n'est pas changée. -t remplace -h
-T, --omit-pagination N'imprime pas l'en-tête (et le pied de page). Élimine toute forme de retour chariot dans le fichier d'entrée.
-v, --show-nonprinting Affiche les caractères non imprimables en notation octal
-w PAGE_WIDTH, --width=PAGE_WIDTH Définit la largeur des lignes pour les sorties multi-colonnes.
-W PAGE_WIDTH, --page_width=PAGE_WIDTH Définie la largeur des lignes. Valide avec ou sans l'option -COLUMN
^
07 juin 2010

htmlpdflatexmanmd




fold

fold

Écrit chaque fichier ou l'entrée standard sur la sortie standard, en coupant les longues lignes. Par défaut il coupe les lignes plus longues que 80 colonnes.

OPTIONS

-b, --byte Compte en octets au lieu de colonnes, donc les tabulations, retour chariot et blackspace sont compté comme une seule colonne.
-s, --spaces Coupe la ligne avec un espace blanc
-w WIDTH, --width=WIDTH Définit la longueur maximale de ligne.