Sin*_*ion 805
你需要尾巴.一些例子:
$ tail great-big-file.log
< Last 10 lines of great-big-file.log >
Run Code Online (Sandbox Code Playgroud)
如果你真的需要跳过特定数量的"第一"线,请使用
$ tail -n +<N+1> <filename>
< filename, excluding first N lines. >
Run Code Online (Sandbox Code Playgroud)
也就是说,如果要跳过N行,则开始打印行N + 1.例:
$ tail -n +11 /tmp/myfile
< /tmp/myfile, starting at line 11, or skipping the first 10 lines. >
Run Code Online (Sandbox Code Playgroud)
如果你想看到最后这么多行,省略"+":
$ tail -n <N> <filename>
< last N lines of file. >
Run Code Online (Sandbox Code Playgroud)
Dav*_*rks 102
我发现删除文件前十行的最简单方法:
$ sed 1,10d file.txt
Run Code Online (Sandbox Code Playgroud)
Edd*_*die 94
如果您的系统上有GNU尾部,则可以执行以下操作:
tail -n +1000001 huge-file.log
Run Code Online (Sandbox Code Playgroud)
这+是完成你想要的角色.引用手册页:
如果K的第一个字符(字节数或行数)是"+",则从每个文件的开头以Kth项开始打印.
因此,如评论中所述,将+1000001开始使用第一个1,000,000行之后的第一个项目进行打印.
new*_*ver 27
使用AWK的简洁版本:
awk 'NR > 1e6' myfile.txt
Run Code Online (Sandbox Code Playgroud)
但我建议使用整数.
小智 16
如果你想跳过前两行
tail -n +3 <filename>
如果你想跳过第一个x行
tail -n +$((x+1)) <filename>
mae*_*ics 15
使用带有范围地址的sed delete命令.例如:
$ sed 1,100d file.txt # Print file.txt omitting lines 1-100.
Run Code Online (Sandbox Code Playgroud)
或者,如果您只想打印已知范围,请使用带有-n标志的print命令:
$ sed -n 201,300p file.txt # Print lines 201-300 from file.txt
Run Code Online (Sandbox Code Playgroud)
无论是否存在GNU实用程序,此解决方案都应在所有UNIX系统上可靠地运行.
tuo*_*alo 14
只是提出一个sed替代方案.:)要跳过前一百万行,请尝试|sed '1,1000000d'.
例:
$ perl -wle 'print for (1..1_000_005)'|sed '1,1000000d'
1000001
1000002
1000003
1000004
1000005
Run Code Online (Sandbox Code Playgroud)
小智 13
如果你想看到前10行你可以使用sed如下:
sed -n '1,10 p' myFile.txt
Run Code Online (Sandbox Code Playgroud)
或者如果你想看到20到30行,你可以使用:
sed -n '20,30 p' myFile.txt
Run Code Online (Sandbox Code Playgroud)
sou*_*els 10
这个shell脚本对我来说很好:
#!/bin/bash
awk -v initial_line=$1 -v end_line=$2 '{
if (NR >= initial_line && NR <= end_line)
print $0
}' $3
Run Code Online (Sandbox Code Playgroud)
与此示例文件(file.txt)一起使用:
one
two
three
four
five
six
Run Code Online (Sandbox Code Playgroud)
该命令(它将从文件中的第二行提取到第四行):
edu@debian5:~$./script.sh 2 4 file.txt
Run Code Online (Sandbox Code Playgroud)
输出此命令:
two
three
four
Run Code Online (Sandbox Code Playgroud)
当然,您可以改进它,例如通过测试所有参数值是预期的:-)
小智 8
sed -n '1d;p'
Run Code Online (Sandbox Code Playgroud)
此命令将删除第一行并打印其余
您可以使用head和tail命令执行此操作:
head -n <num> | tail -n <lines to print>
Run Code Online (Sandbox Code Playgroud)
其中num是1e6 +您要打印的行数.
cat < File > | awk '{if(NR > 6) print $0}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
357572 次 |
| 最近记录: |