Pip jest narzędziem, które może uczynić każdy program filtra.
Niektóre programy (często te z nie-Unix tle) nie czyta wejście ze standardowego wejścia, ani pisać na standardowe wyjście. Zamiast tego, aby można określić "plik wejściowy 'oraz' 'plik wyjściowy w wierszu polecenia. Przynajmniej większość programów uniksowych, które nie pozwalają używać tego specjalnego pliku '-' oznacza, stdin lub stdout, ale jest kilka programów, które nie uznają tej konwencji.
Czasami ze względów technicznych, ponieważ wejście musi być możliwy do przeszukania. Czasami jest to, że autor nie sądziłem, że będzie użyteczne i jest prawdopodobnie Pascal sympatykiem. Jednak w każdym przypadku, jest denerwujący nie być w stanie korzystać z tych programów, w rurociągach.
Pip rozwiązuje ten problem. Zawija to takie programy i pozwala nadać nazwy plików "-" tak samo, jak z żadnym innym. Jednak pip nie wie, czy "-" powinien oznaczać stdin lub stdout, więc musisz powiedzieć to z -i, -o, lub przełączników -B. Pip również -I i -O dla programów, które mogą korzystać z stdin i stdout, ale wymagają od nich się pozycjonować.
Na przykład, aby przekształcić program "głupi", która przyjmuje nazwę pliku wejściowego i nazwę pliku wyjściowego, aby filtr:
pip -io głupi - -
Program do rury za pomocą kompilatora C (jeśli z jakiegoś powodu trzeba było zrobić coś takiego):
pip -io gcc -.c -o -
W tym przypadku, biorąc pod uwagę tymczasowe nazwa pliku wejściowego do gcc zakończy się w '.c'. Oraz rury przez emacs jakiś tekst, dając użytkownikowi możliwość jego edycji:
pip -B emacs -
Przykładem przełącznika -I, do bufora stdin do pliku tak, że tryb dvips "Filtr" (który oczekuje pozycjonować stdin) można go używać:
pip -I dvips -f
Zobacz stronę podręcznika o więcej.
pip_ (la) tex
Chociaż ogólnie pip wystarczy dla większości zastosowań, nie będzie obsługiwać LaTeXie prawidłowo. Do tego jest osobny pip_latex program, który otoki dla LaTeX. Akceptuje źródło LaTeX na standardowe wejście i zapisuje plik DVI do standardowego wyjścia - albo można go zainstalować jako pip_tex jeśli nie używać LaTeX. Stara się zrobić coś sensownego z komunikatów o błędach TEX - patrz dokumentację na początku skryptu. Na przykład:
Kot filename.tex | pip_latex | pip -i xdvi -
pip_latex2html
To jest opakowaniem specjalne dla programu latex2html. Czyta ze standardowego wejścia źródła LaTeX i próbuje przekonwertować go do formatu HTML pisemnej na standardowe wyjście.
Pip kontra / dev / stdin i / dev / stdout
Na większości Uniksów, często można uzyskać ten sam efekt, jak pip za pomocą / dev / stdin i / dev / stdout (Dzięki Daniel Biddle za wskazanie tego). Jednak mimo to działa w przypadku programów, które kolejno czytać i pisać, a dostaje normalną lenistwo rurociągu w takich sytuacjach, to nie będzie działać dla tych, którzy chcą zrobić operacji na plikach o dostępie swobodnym na ich wejście lub wyjście.
Spróbuj uruchomić program z / dev / stdin lub / dev / stdout; jeśli nie jest on w jakiś dziwny sposób, spróbuj ponownie używając pip, który powinien pracować z czegokolwiek. Również pip działa na Windows, gdzie / dev / std * nie istnieją.
Wymagania:
Szczegóły programowe:
Komentarze nie znaleziono