我有很多长度可变的文件,我想总是提取最后6-8行。我尝试使用tail -8 myfile.txt
,但它返回myfile.txt
的最后8行
如何修改代码以返回从末尾算起的8-6行?
答案 0 :(得分:2)
您可以使用tail
获取最后8行,然后使用head
获取前3行:
$ tail -8 mfile.txt | head -3
答案 1 :(得分:1)
您可以使用head
和tail
命令。要反转其输出,请使用tac
命令(cat
向后)例如,这将提供您想要的输出:
tac testfile | head -n 8 | tail -n 3
head
将为您提供文件的第一行(默认:10行,您可以使用-n
参数更改此行),tail
对最后一行执行相同操作。所以做head -n 8
给你前8行,管道到tail -n 3
给你最后3行,然后是第6 - 8行。
对于内容为
的TestfileLine1
Line2
Line3
Line4
Line5
Line6
Line7
Line8
Line9
Line10
Line11
Line12
这将输出:
Line7
Line6
Line5
答案 2 :(得分:1)
只需使用带有tac的awk:
tac file | awk 'NR == 6, NR == 8'
这将从tac的输出中打印第6,7和8行,它会反向打印文件中的行。
您也可以使用范围表达式,如fedorqui(谢谢)所示:
if(getIntent().hasExtra("Type"))
type = getIntent().getStringExtra("Type");
当第一部分为真时,表达式的计算结果为真,并且在第二部分为真之前保持为真(我提到单词"真"足够多次?)