Rozpakuj i potokuj dane wyjściowe do skryptu

14

Mam skrypt, który pobiera dane wejściowe z -iflagą. Plik wejściowy, który mam, jest skompresowany (.gz). Co chcę zrobić (nie jestem pewien, czy to możliwe), ponieważ plik jest ogromny, zrób coś takiego:

gunzip -c myfile.gz | myScript.pl -i STDIN -o myoutfile.txt 

Więc potokuj wyjście dekompresji do flagi wejściowej moich skryptów.

crysis405
źródło
A twoje pytanie brzmi?
Seth
to polecenie, które napisałem, nie działa, chcę czegoś, co będzie
crysis405
więc masz przestrzeń pomiędzy myi script. Jeśli użyjesz -onajpierw, a potem -izadziała (usuń STDIN)
Seth
przepraszam za miejsce, które nie powinno tam być. Skrypt wyświetla teraz błąd, że nie podałem danych wejściowych. Czy to musi być szczegółowo określone w skrypcie perla, jeśli chcesz wykonywać takie potoki?
crysis405
Nigdy nie zrobiłem perla, więc nie mogę powiedzieć.
Seth

Odpowiedzi:

19

Znalazłem rozwiązanie:

gunzip -c myfile.gz | myScript.pl -o myoutfile.txt -i -

to było -później -i.

crysis405
źródło
1
Dla innych czytelników -cjest to „stdout”
mpen