Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Command line 如何使用unix命令输出文件的第800-900行?_Command Line_Tail_Head - Fatal编程技术网

Command line 如何使用unix命令输出文件的第800-900行?

Command line 如何使用unix命令输出文件的第800-900行?,command-line,tail,head,Command Line,Tail,Head,我想输出文件中a和b之间的所有行 这是可行的,但似乎有些过分: head -n 900 file.txt | tail -n 100 我缺乏unix知识似乎是这里的限制。有什么建议吗 sed -n '800,900p' file.txt 这将打印(p)第800行到第900行,包括第800行和第900行(即总共101行)。它不会打印任何其他行(-n) 将其从800调整到801和/或从900调整到899,使其完全符合您认为“800和900之间”在您的案例中的含义。找到了一种更漂亮的方法:使用se

我想输出文件中a和b之间的所有行

这是可行的,但似乎有些过分:

head -n 900 file.txt | tail -n 100
我缺乏unix知识似乎是这里的限制。有什么建议吗

sed -n '800,900p' file.txt
这将打印(
p
)第800行到第900行,包括第800行和第900行(即总共101行)。它不会打印任何其他行(
-n


将其从800调整到801和/或从900调整到899,使其完全符合您认为“800和900之间”在您的案例中的含义。

找到了一种更漂亮的方法:使用sed,只打印a和b之间的行:

sed -n -e 800,900p filename.txt
从博客帖子:

我使用它的一种方法是查找(和区分)文件的类似部分:

 sed -n -e 705,830p mnetframe.css > tmp1; \
 sed -n -e 830,955p mnetframe.css > tmp2; \
 diff --side-by-side tmp1 tmp2

这将给我一个很好的并排比较文件的类似部分:)

完美!谢谢我在一篇博客文章中找到了完全相同的提示,并附上了更多的例子——见我的答案