bash命令从文件中复制特定行

时间:2014-02-04 15:16:42

标签: bash

这会将outputs.txt的最后3行复制到newfile.txt

tail -n 3 "outputs.txt" | cat >> newfile.txt

但是什么是bash命令将outputs.txt的(last-1)^和(last-3)^行复制到newfile.txt?

2 个答案:

答案 0 :(得分:3)

您可以使用以下

tail -n 4 outputs.txt | awk 'NR ==1 || NR == 3' >> newfile.txt

tail取最后4行,awk选择第一行和第三行,如果我理解正确的话就是你想要的那些。

请注意,在您的命令中,您也不需要猫,只需

tail -n3 outputs.txt >> newfile.txt

答案 1 :(得分:2)

tac命令可以解决问题。

tac "outputs.txt" |awk 'NR==2 || NR==4' |tac