我正在unix环境中使用foeach循环处理文件内容,我想在xterm上的一行中打印已完成任务的百分比。诸如计数器的增加。
foreach xxx (`cat file1`)
set total = `wc -l file1`
# count definination
# print percentage completed => count/total
end
file1的内容在单列中进行了一些测试
aaa
bbb
ccc
ddd
预期输出为
> 25%
> 50%
更新的数字将覆盖同一行上的先前状态。像实时行情自动收录机
答案 0 :(得分:0)
这是我发现满足我要求的内容
set ccc = 0
foreach xxx ( `cat file1 ` )
set nnn = ` wc -l file1`
set ccc = `expr $ccc + 1`
echo $ccc $nnn | awk '{printf ("\r%-5s completed out of %s",$1,$2)}'
end
对我有用的关键元素是print命令中的'\ r'选项,该选项将替换当前行上的文本。