我想在文件中输出a和b之间的所有行。
这个方法可以实现,但似乎过于复杂:
head -n 900 file.txt | tail -n 100
我在Unix方面的知识不足似乎成为了瓶颈。有什么建议吗?
我想在文件中输出a和b之间的所有行。
这个方法可以实现,但似乎过于复杂:
head -n 900 file.txt | tail -n 100
我在Unix方面的知识不足似乎成为了瓶颈。有什么建议吗?
sed -n '800,900p' file.txt
这将打印出800到900行,包括第800和第900行(总共101行)。它不会打印任何其他行(即-n
)。
如果您希望它按照您的意思执行“在800和900之间”的操作,则需要将范围从800到801和/或从900到899进行调整。
找到了一种更漂亮的方法:使用sed,仅打印a和b之间的行:
sed -n -e 800,900p filename.txt
从博客文章中得知:使用sed提取文本文件中的行
我正在使用的一种方法是查找(和diff)文件的相似部分:
sed -n -e 705,830p mnetframe.css > tmp1; \
sed -n -e 830,955p mnetframe.css > tmp2; \
diff --side-by-side tmp1 tmp2