Co staram się zrobić to:W jaki sposób potokować wyjście procesu do komendy rejestratora i komendy head?
Rozpocznij proces, który wyświetla tekst ciągły
pipe, że wyjście do dwóch komend:
- skrypt rejestrator
- ' polecenie head, więc mogę zapisać pierwsze wiersze w wyjściowym procesie wyjściowym.
co starałem tak daleko (unsuccessfuly) wynosi:
./myProgram | tee > (myLogger log.txt) | head > firstLines.txt
Problemem jest to, że myProgram
wyjścia jak tylko head
jest zakończona.
Nawet jeśli użyję polecenia -i
w tee
, nie będę mógł uruchomić programu myProgram.
Ponieważ rejestrator może dołączyć przychodzący tekst do istniejącego pliku, wykonanie head log.txt > firstLines.txt
nie będzie działać w tym przypadku.
Przełącznik porządek wokół. Użyj '> (...)' dla 'head' i normalnej rury dla twojego loggera? –
To także było moje pierwsze przypuszczenie, ale spróbowałem i problem nadal istnieje. –
Niezbyt eleganckie rozwiązanie: Wyjście do pliku tymczasowego, a następnie dołączenie tego pliku tymczasowego do pliku log.txt, a następnie prześlij plik tymczasowy, a następnie usuń plik tymczasowy. – Bartez