什么是最好的方法(一条线,最好是使用头部和尾部)从文件中提取3-5和11-13行?
这完成了第一部分,但是如何在不弄乱的情况下抓住11-13?的xD
head -5 some_file | tail -3 > output_file
Run Code Online (Sandbox Code Playgroud)
我认为sed可以轻松做到这一点sed -n -e "3,5p" -e "11,13p" some_file > output_file
该-n告诉不sed将输出的每一行.在-e'小号告诉SED哪些部分打印出来.无法看到你如何用头部和尾部做到这一点:head -5只给你前5行,所以你不能只把它管到尾部 - 你需要一个新的命令,所以看一些更复杂的东西,如:
head -5 some_file > output_file; tail -3 some_file >> output_file
Run Code Online (Sandbox Code Playgroud)
在awk你可以做这样的:
awk '(NR>=3 && NR<=5) || (NR>=11 && NR<=15) {print}' some_file >output_file
Run Code Online (Sandbox Code Playgroud)
Glenn Jackman建议的简化版本:
awk '(NR >= 3 && NR <= 5) || (NR >= 11 && NR <= 15)' some_file >output_file
Run Code Online (Sandbox Code Playgroud)