Pip est un outil qui peut faire tout programme un filtre.
Certains programmes (souvent ceux d'un milieu non-Unix) ne lisent pas l'entrée de stdin, ni écrire sur la sortie standard. Au lieu de cela, ils font vous spécifiez un «fichier d'entrée» et un «fichier de sortie" sur la ligne de commande. Au moins la plupart des programmes Unix qui font cela permettra d'utiliser le nom de fichier spécial «-» pour signifier stdin ou stdout, mais il ya certains programmes qui ne reconnaissent pas cette convention.
Parfois, cela est pour des raisons techniques, car l'entrée doit être adressable. Parfois, il est parce que l'auteur ne pense pas qu'il serait utile et est probablement un sympathisant Pascal. Mais en tout cas, il est ennuyeux de ne pas être en mesure d'utiliser ces programmes dans les pipelines.
Correctifs Pip ce problème. Il enroule ces programmes et vous permet de donner des noms de fichiers de '-' comme vous le feriez avec n'importe quel autre. Cependant pip ne sait pas si '-' devrait signifier stdin ou stdout, de sorte que vous faut-il dire à la -i, -o, ou commutateurs -b. Pip fournit également -I et -O de programmes qui utilisent stdin et stdout mais les obligent à être positionnable.
Par exemple, pour convertir le programme «stupide», qui prend un nom de fichier d'entrée et un nom de fichier de sortie, pour être un filtre:
pip -io stupide - -
Pour diriger un programme de C par le compilateur (si pour une raison quelconque vous besoin de faire une telle chose):
pip -io gcc -o -.c -
Dans ce cas, l'entrée nom de fichier temporaire donnée à gcc finira par «.c». Et à la conduite du texte par emacs, donnant la chance à l'utilisateur de le modifier:
pip emacs -b -
Un exemple de l'option -I, pour tamponner stdin dans un fichier de sorte que de filtre »le mode de dvips (qui attend un stdin seekable) peut l'utiliser:
pip -I dvips -f
Voir la page de manuel pour plus.
pip_ (la) tex
Bien pip est suffisamment général pour la plupart des utilisations, il ne sera pas gérer TeX et LaTeX correctement. Pour cela, il est un pip_latex de programme distinct qui est un wrapper pour LaTeX. Il accepte source LaTeX sur l'entrée standard et écrit un fichier DVI sur la sortie standard - ou vous pouvez l'installer comme pip_tex si vous ne l'utilisez LaTeX. Il essaie de faire quelque chose de sensible avec les messages d'erreur de TeX - voir la documentation au début du script. Par exemple:
chat filename.tex | pip_latex | pip -i xdvi -
pip_latex2html
Ceci est un wrapper à usage spécial pour le programme latex2html. Il lit source LaTeX à partir de stdin et tente de le convertir en HTML écrit sur la sortie standard.
Pip rapport / dev / stdin et / dev / stdout
Sur la plupart des systèmes Unix, vous pouvez souvent obtenir le même effet que pip en utilisant / dev / stdin et / dev / stdout (merci à Daniel Biddle pour cette précision). Cependant, bien que cela fonctionne pour les programmes qui lisent et écrivent séquentiellement, et vous obtient la paresse de pipeline normale dans de telles situations, il ne fonctionnera pas pour ceux qui veulent faire les opérations de fichiers à accès aléatoire sur leur entrée ou de sortie.
Essayez de lancer votre programme avec / dev / stdin ou / dev / stdout; si elle échoue dans une certaine manière étrange, essayez à nouveau en utilisant pip, qui devrait fonctionner avec à peu près tout. Aussi œuvres pip sur Windows, où / dev / std * ne existent pas.
Exigences:
Détails logiciels:
Version: 1.2
Date de transfert: 3 Jun 15
Licence: Gratuit
Popularité: 59
Commentaires non trouvées