0

我有一个 shell 脚本,它向我编写的 python 程序发送大约 150 个文件。我不知道需要多长时间,所以我想知道是否有终端命令:

a) 告诉我当前正在处理哪个文件

b)还有多少文件要运行

这是我的外壳:

#!/bin/bash

ls fp00t*g*k2odfnew.dat | while read line; do
    echo $line
    python file_editor.py $line 
done 
4

1 回答 1

2

PipeViewer 可能会满足您的需求: http: //www.catonmat.net/blog/unix-utilities-pipe-viewer/

像这样的东西可能会起作用,将两者都ls置于pv行模式:

#!/bin/bash

ls -1 fp00t*g*k2odfnew.dat | pv -l | while read line; do
    echo $line
    python file_editor.py $line 
done

您还可以提供总数,pv以便它知道您计数了多少,因此进度条可以正常工作:

#!/bin/bash

ls -1 fp00t*g*k2odfnew.dat | pv -l -s`ls -1 fp00t*g*k2odfnew.dat | wc -l` | while read line; do
    echo $line
    python file_editor.py $line 
done

完整pv文档在这里:http ://www.ivarch.com/programs/quickref/pv.shtml

于 2013-05-23T17:06:30.427 回答