Nic*_*ott 130 scripting command-line tail unix-head
由于未知长度的文本文件,我怎么能读,例如所有,但第2行的文件?我知道tail会给我最后N行,但我不知道N是提前的.
所以对于一个文件
AAAA
BBBB
CCCC
DDDD
EEEE
Run Code Online (Sandbox Code Playgroud)
我想要
CCCC
DDDD
EEEE
Run Code Online (Sandbox Code Playgroud)
并为一个文件
AAAA
BBBB
CCCC
Run Code Online (Sandbox Code Playgroud)
我会得到的
CCCC
Run Code Online (Sandbox Code Playgroud)
Joe*_*nos 195
tail --help 给出以下内容:
-n, --lines=K output the last K lines, instead of the last 10;
or use -n +K to output lines starting with the Kth
Run Code Online (Sandbox Code Playgroud)
因此,要过滤掉第一2行,-n +3应该为您提供所需的输出(从第3行开始).
小智 21
假设您的尾部版本支持它,您可以指定在X行之后开始尾部.在你的情况下,你做2 + 1.
tail -n +3
[mdemaria@oblivion ~]$ tail -n +3 stack_overflow.txt
CCCC
DDDD
EEEE
Run Code Online (Sandbox Code Playgroud)
jan*_*anm 12
使用awk的简单解决方案:
awk 'NR > 2 { print }' file.name
Run Code Online (Sandbox Code Playgroud)
tail -n +linecount filename将开始在线路输出linecount的filename,所以tail -n +3 filename
应该做你想要什么.