我有一个很长的文件,我想打印,跳过前1,000,000行,例如。

我查看了猫的手册页,但我没有看到任何选项可以这样做。我正在寻找一个命令来执行此操作或一个简单的Bash程序。


当前回答

cat < File > | awk '{if(NR > 6) print $0}'

其他回答

cat < File > | awk '{if(NR > 6) print $0}'

如果你想看到前10行,你可以使用sed,如下所示:

sed -n '1,10 p' myFile.txt

或者如果你想看到从20到30的行,你可以使用:

sed -n '20,30 p' myFile.txt

你可以使用head和tail命令:

head -n <num> | tail -n <lines to print>

其中num是1e6 +想要打印的行数。

如果您的系统上有GNU tail可用,您可以执行以下操作:

tail -n +1000001 huge-file.log

它是你想要的+字符。引用手册页中的内容:

如果K的第一个字符(字节数或行数)是a ' +',从每个文件开头的第k项开始打印。

因此,正如注释中所指出的那样,输入+1000001开始打印前1,000,000行之后的第一项。

如果你想跳过前两行:

tail -n +3 <filename>

如果你想跳过第一个x行:

tail -n +$((x+1)) <filename>