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

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


当前回答

你需要尾巴。一些例子:

$ tail great-big-file.log
< Last 10 lines of great-big-file.log >

如果你真的需要跳过特定数量的“第一行”,请使用

$ tail -n +<N+1> <filename>
< filename, excluding first N lines. >

也就是说,如果你想跳过N行,你开始打印第N+1行。例子:

$ tail -n +11 /tmp/myfile
< /tmp/myfile, starting at line 11, or skipping the first 10 lines. >

如果你只想看到最后几行,可以省略“+”:

$ tail -n <N> <filename>
< last N lines of file. >

其他回答

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

你需要尾巴。一些例子:

$ tail great-big-file.log
< Last 10 lines of great-big-file.log >

如果你真的需要跳过特定数量的“第一行”,请使用

$ tail -n +<N+1> <filename>
< filename, excluding first N lines. >

也就是说,如果你想跳过N行,你开始打印第N+1行。例子:

$ tail -n +11 /tmp/myfile
< /tmp/myfile, starting at line 11, or skipping the first 10 lines. >

如果你只想看到最后几行,可以省略“+”:

$ tail -n <N> <filename>
< last N lines of file. >

你可以使用head和tail命令:

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

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

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

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

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

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

Use:

sed -n '1d;p'

该命令将删除第一行并打印其余部分。