Akh*_*adi 5 shell-script text-processing
我想计算文件中的页数/var/log/messages,以便我可以使用pr命令从我想要的页面开始打印。
例如,假设该/var/log/messages文件包含 300 页,那么我可以使用以下内容打印最后 5 页。
pr +295 /var/log/messages
Run Code Online (Sandbox Code Playgroud)
注意:pr当我们指定的页码超过文件中可用页数时,命令将列出页数,如下所述。
pr +400 /var/log/messages
pr: starting page number 400 exceeds page count 313
Run Code Online (Sandbox Code Playgroud)
话虽如此,我想知道是否有特定的命令来查找页数。
pr文本文件的默认页面长度是56. 所以你可以这样做:
$ perl -MPOSIX=ceil -nle 'END{print ceil($./56)}' file
Run Code Online (Sandbox Code Playgroud)
如果您想计算多个文件的数量,请尝试:
$ perl -MPOSIX=ceil -nle '
if (eof) {
print ceil($./56);
close ARGV;
}
' file1 file2 file3
Run Code Online (Sandbox Code Playgroud)