Я хочу передать часть очень большого текстового файла по конвейеру для последующей работы (python).
В принципе, я хочу получить все нечетные строки и первые n символов четных строк, но я все же хочу сохранить порядок строк.
Причина в том, что четные строки очень-очень длинные, но мне нужны только первые несколько символов. Это может значительно ускорить чтение файла в Python.
Вот решение в awk
:
$ cat testfile
foo
asdkjasjdka
bar
kjsdksjdkssd
$ awk -v n=2 'NR % 2 == 1 { print } NR % 2 == 0 { print substr($0, 1, n) }' testfile
foo
as
bar
kj