完整攻略:Pipes实现LeetCode(195.第十行)
问题描述
给定一个文本文件 file.txt,请只输出其中的第十行。
示例:
假设 file.txt 有如下内容:
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
则输出:
Line 10
说明:
如果文件少于十行,则不输出任何内容。
假如该文件有十行或更多的行,则输出文件的第十行。
解法
可以使用 tail
和 head
指令来解决这个问题,其中 tail -n +10
用来忽略前 9 行,输出第 10 行及其之后的内容,head -1
用来选出输出的第一行。
这里使用管道(Pipes)把两个指令组合起来,可以在一行命令中完成操作:
cat file.txt | tail -n +10 | head -1
其中,cat
指令用来输出整个文件的内容。上述命令是先输出文件的内容,然后通过 tail
忽略前 9 行,接着通过 head
命令输出结果的第一行就是目标行。
示例
假设 file.txt 的内容如下:
apple
orange
banana
peach
grape
lemon
kiwi
watermelon
pineapple
mango
apricot
输入以下命令:
cat file.txt | tail -n +10 | head -1
程序的输出结果是:
pineapple
再看一组示例,假设 file.txt 中只有 9 行,如下所示:
apple
orange
banana
peach
grape
lemon
kiwi
watermelon
pineapple
对于这样的情况,程序不会输出任何内容。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pipes实现LeetCode(195.第十行) - Python技术站