Dan*_*iel 2 bash shell tail head
给定一个文件:
dept4.abc.edu
dept3.abc.edu
dept2.abc.edu
dept1.abc.edu
Run Code Online (Sandbox Code Playgroud)
我知道如何使用以下命令获取从底部开始的第三行:
tail -3 file | head -1
Run Code Online (Sandbox Code Playgroud)
只要文件长度大于或等于 3 行就可以[ $(wc -l < file) -gt 3 ]。所以tail -4 file | head -1仍然很好,但tail -5 file | head -1不是我真正想要的。
我想知道是否有更好的方法和更干净的方法来安全地获取第 n 行,安全地说,我的意思是如果它不存在,只需返回一个空字符串或错误。有任何想法吗?
有很多方法可以从文件中获取第 n 行,请参见例如Bash tool to get nth line from a file
获取文件底部第 n 行的最简单方法是使用tac( 的逆cat)来反转文件。像这样的东西:
tac file | sed '3q;d'
Run Code Online (Sandbox Code Playgroud)