代码改变世界

下面哪些命令可以查看file1文件的第300-500行的内容?

2021-07-11 16:34  jetwill  阅读(631)  评论(0编辑  收藏  举报

下面哪些命令可以查看file1文件的第300-500行的内容?

cat file1 | tail -n +300 | head -n 200
cat file1| head -n 500 | tail -n +300
sed -n '300,500p' file1

答案:BC

解释:

>head --help
# head -n, --lines=[-]NUM       
# print the first NUM lines instead of the first 10;
# with the leading '-', print all but the last NUM lines of each file
意思就是
head -n k          # 打印前k行
head -n -k         # 打印除最后k行外的所有内容

>tail --help
# tail -n, --lines=[+]NUM       
# output the last NUM lines, instead of the last 10;
# or use -n +NUM to output starting with line NUM
意思就是
tail -n k          # 打印最后k行
tail -n +k         # 从第k行开始打印

回到这道题,输出300行-500行的内容。

A选项:从第300行开始,接着输出前200行的内容,但这里的200行包括了第300行,不包括第500行。所以应该改为cat file1 | tail -n +300 | head -n 201

B选项:先取出前500行,再从300行开始。 cat file1 | head -n 500 | tail -n + 300 ,正确。

C选项:sed命令 p :列印,将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行

sed -n '300-500p' file1 打印300-500行,正确。

亲自测试,A输出300-499;BC输出300-500