Powiedzmy, że mam polecenie, command
które wypisuje na standardowe wyjście ogromną liczbę linii:
line1
line2
.....
lineN
Chcę zapisać dane wyjściowe na dysku, ale nie jako pojedynczy plik, ale jako sekwencję plików, z których każdy ma 1000 wierszy standardowego wyjścia:
file0001.txt:
-------------
line1
....
line1000
file0002.txt:
-------------
line1001
....
line2000
etc
Próbowałem google znaleźć odpowiedź, ale za każdym razem google kieruje mnie do tee
polecenia, co w tej sytuacji jest bezużyteczne. Prawdopodobnie wpisuję nieprawidłowe zapytania.
split [arguments...] [input e.g. "-" for stdin] [output_prefix]
, na przykład:tar -c somedir | split --byes 100MB --numeric-suffixes --suffix-length=3 - somedir.tar.part-
wypuściłbym wiązkę 100 MB plików o nazwachsomedir.tar.part-000
001, 002 i tak dalej.