Bash 制造的进展

Bash 制造的进展,bash,Bash,我有一个用于LaTeX编译的Makefile,但是,它输出了很多信息。肯定太难理解了。但是,如果我忽略它,我将很难找出编译失败的原因 我的想法是根据它输出的行数创建一个进度条(假设我知道它将输出的行总数) 所以基本上我要问的是:有没有可能动态计算一个执行输出的行数 我知道wc-l,但是有什么方法可以在编译过程中做到这一点吗 谢谢将标准输出重定向到/dev/null,只留下错误,怎么样 $ echo info; echo error >&2 info error $ (echo in

我有一个用于LaTeX编译的Makefile,但是,它输出了很多信息。肯定太难理解了。但是,如果我忽略它,我将很难找出编译失败的原因

我的想法是根据它输出的行数创建一个进度条(假设我知道它将输出的行总数)

所以基本上我要问的是:有没有可能动态计算一个执行输出的行数

我知道
wc-l
,但是有什么方法可以在编译过程中做到这一点吗


谢谢

将标准输出重定向到
/dev/null
,只留下错误,怎么样

$ echo info; echo error >&2
info
error
$ (echo info; echo error >&2) > /dev/null
error

简单地将标准输出重定向到
/dev/null
,只留下错误,怎么样

$ echo info; echo error >&2
info
error
$ (echo info; echo error >&2) > /dev/null
error

使用
脚本
工具

$ script -t 2> timingfile
Script started, file is typescript
$ make
...
$ exit
然后

之后,您可以用
更少的值读取定时文件。每条线的形式如下:

<elapsed seconds> <amount of byte in `typescript`> 

使用
脚本
工具

$ script -t 2> timingfile
Script started, file is typescript
$ make
...
$ exit
然后

之后,您可以用
更少的值读取定时文件。每条线的形式如下:

<elapsed seconds> <amount of byte in `typescript`> 

您可以在线路模式下使用
pv
实用程序:

make | pv -l -s EXPECTED_LINES

您可以在线路模式下使用
pv
实用程序:

make | pv -l -s EXPECTED_LINES

你可以看看。Rubber是LaTeX及其配套程序的包装器。它的目的是在给定一个LaTeX源进行处理的情况下,对其进行足够的编译,以解析所有引用,可能运行卫星程序,如BibTeX、makeindex、Metapost等,以生成适当的数据文件@Thomas这与显示整个编译的进度有什么关系?不多,这就是为什么我没有将其作为答案发布,但任何人为LaTeX编译手动编写Makefiles的人至少应该知道有一种更简单的方法:)@Thomas,问得好+你可以看一看。Rubber是LaTeX及其配套程序的包装器。它的目的是在给定一个LaTeX源进行处理的情况下,对其进行足够的编译,以解析所有引用,可能运行卫星程序,如BibTeX、makeindex、Metapost等,以生成适当的数据文件@Thomas这与显示整个编译的进度有什么关系?不多,这就是为什么我没有将其作为答案发布,但任何人为LaTeX编译手动编写Makefiles的人至少应该知道有一种更简单的方法:)@Thomas,问得好+1谢谢@Michal,我以前不知道这个,但它是标准工具吗@ThomasAbout pv:pv或Pipe viewer是一种基于终端的工具,用于监控通过管道的数据进度,pv的主页是()示例:
$pv access.log | gzip>access.log.gz 611MB 0:00:11[58.3MB/s][=>]15%ETA 0:00:59
解释:Pipe viewer在这里充当“cat”,只是它还添加了一个进度条。我们可以看到gzip在11秒内处理了611MB的数据。它已经处理了15%的数据,需要59秒才能完成。谢谢@Michal,我以前不知道这个,但它是标准工具吗@ThomasAbout pv:pv或Pipe viewer是一种基于终端的工具,用于监控通过管道的数据进度,pv的主页是()示例:
$pv access.log | gzip>access.log.gz 611MB 0:00:11[58.3MB/s][=>]15%ETA 0:00:59
解释:Pipe viewer在这里充当“cat”,只是它还添加了一个进度条。我们可以看到gzip在11秒内处理了611MB的数据。它已经处理了15%的数据,还需要59秒才能完成。