从底部获得第n行"安全"

时间:2014-06-17 15:00:31

标签: bash shell head tail

给定一个文件:

dept4.abc.edu
dept3.abc.edu
dept2.abc.edu
dept1.abc.edu

我知道如何使用命令从底部获取第3行:

tail -3 file | head -1

只要文件长度大于或等于3行[ $(wc -l < file) -gt 3 ],这是可以的。所以tail -4 file | head -1仍然没问题,但tail -5 file | head -1不是我真正想要的。

我想知道是否有更好的方法和更清洁的方式来安全地获得第n行,通过安全地说我的意思是如果它不在那里,只需给我一个空字符串或错误。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

有很多方法可以从文件中获取第n行,例如Bash tool to get nth line from a file

从文件底部获取第n行的最简单方法是使用taccat的反转)来反转文件。像这样:

tac file | sed '3q;d'