我想在文件中输出 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
这将打印 ( p
) 行 800 到 900,包括第 800 行和第 900 行(即总共 101 行)。它不会打印任何其他行 ( -n
)。
从 800 调整到 801 和/或从 900 调整到 899 以使其完全符合您认为“在 800 到 900 之间”在您的情况下的含义。
找到了一个更漂亮的方法:使用 sed,只打印出 a 和 b 之间的行:
sed -n -e 800,900p filename.txt
来自博客文章:使用 sed 提取文本文件中的行
我使用它的一种方法是查找(和区分)类似的文件部分:
sed -n -e 705,830p mnetframe.css > tmp1; \
sed -n -e 830,955p mnetframe.css > tmp2; \
diff --side-by-side tmp1 tmp2
这将使我对文件的相似部分进行很好的并排比较:)