给定一个文件:
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行,通过安全地说我的意思是如果它不在那里,只需给我一个空字符串或错误。有什么想法吗?
答案 0 :(得分:2)
有很多方法可以从文件中获取第n行,例如Bash tool to get nth line from a file
从文件底部获取第n行的最简单方法是使用tac(cat
的反转)来反转文件。像这样:
tac file | sed '3q;d'