是否有用于打印部分文件的magic unix命令?我有一个有几百万行的文件,我想跳过大约一百万行,然后打印文件的下一百万行。
提前谢谢你。
答案 0 :(得分:1)
要提取数据,sed
是您的朋友。
假设您可以输入cmd-line的1-off任务:
sed -n '200000,300000p' file | enscript
“数字逗号(,)数字”是sed中范围cmd的一种形式。这个开始于2,000,000行和 * p * rints,直到你达到3,000,000。
如果您希望输出转到屏幕,请移除| enscript
enscript
是一个实用程序,用于管理向Postscript兼容打印机发送数据的过程。我的Linux发行版没有这个,所以它不一定是std实用程序。希望您知道需要重定向到哪个命令才能将输出打印到纸张上。
如果要“打印”到其他文件,请使用
sed -n '200000,300000p' file > smallerFile
IHTH
答案 1 :(得分:1)
我建议awk
,因为它比sed
更容易,更灵活:
awk 'FNR>12 && FNR<23' file
其中FNR
是记录号。所以上面打印的线条大于12和23以下。
你可以这样更具体:
awk 'FNR<100 || FNR >990' file
如果记录编号小于100或超过990,则打印行。或者,行超过100,行包含“fred”
awk 'FNR >100 || /fred/' file