Foo*_*Bar 3 command-line ls text-processing
假设ls -t返回:
1
2
3
4
5
6
Run Code Online (Sandbox Code Playgroud)
如何跳过前 3 个结果?所以结果只有:
4
5
6
Run Code Online (Sandbox Code Playgroud)
我知道我可以运行ls -t | head -3,但这只会占用前 3 行,但我需要跳过前 3 行。
1
2
3
Run Code Online (Sandbox Code Playgroud)
使用tail:
ls -tq | tail -n+4
Run Code Online (Sandbox Code Playgroud)
请注意,我添加了-q选项来ls防止文件名中出现换行符问题。虽然这可能是输出到终端的默认值ls,但它不是管道传输时的默认值。
另请注意,这对于视觉输出来说是可以的,但对于脚本编写来说不行,因为带有换行符的文件将不起作用,因为换行符会被替换为?.
一般来说,您应该避免解析ls.