是否有用于打印文件部分的神奇 unix 命令? 我有一个有数百万行的文件,我想跳过前一百万行左右,打印文件的下一百万行。
提前谢谢你。
要提取数据,sed
是你的朋友。
假设您可以输入到cmd行的一次性任务:
sed -n '200000,300000p' file | enscript
"数字逗号 (,) 数字"是 SED 中范围 CMD 的一种形式。这个从第 2,000,000 行开始,直到你达到 3,000,000。
如果您希望输出转到屏幕,请删除| enscript
enscript
是一个实用程序,用于管理将数据发送到Postscript兼容打印机的过程。我的 Linux 发行版没有这个,所以它不一定是 std 实用程序。希望您知道需要重定向到哪个命令才能将输出打印到纸张上。
如果要"打印"到另一个文件,请使用
sed -n '200000,300000p' file > smallerFile
希斯
我建议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