我想将一个非常大的文本文件的一部分通过管道传输到下游工作(python)。
基本上,我想获取所有奇数行和偶数行的前 n 个字符,但我仍然想保留行顺序。
原因是偶数行非常非常长,但我只需要前几个字符。这可以使将文件读入 python 的速度更快。
答案1
这是一个解决方案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