Here's a quick hack. If you don't have awk or stat available, I don't imagine you will have Perl, either.
Code:
#!/bin/sh
#
# cpbar -- era 2008-05-21 for unix.com
#
# Depends:
# stat
# cp
# awk
syntax () {
echo "Syntax: $0 srcfile destfile" >&2
echo " " "$@" >&2
exit 1
}
test -r "$1" || syntax "File '$1' not found"
test -d "$2" && syntax "Must name destination file ('$2' is a directory)"
size=`stat -c %s "$1"`
cp "$1" "$2" &
cppid=$!
trap 'echo; kill $cppid; rm -f "$2"; exit 127' 1 2 3 5 15
while true; do
nsize=`stat -c %s "$2"`
awk -v f1="$1" -v f2="$2" -v size=$size -v nsize=$nsize '
BEGIN { printf "Copying %s to %s: %4.2f%%\r", f1, f2, 100*nsize/size }'
case $nsize in $size) break ;; esac
sleep 1
done
echo
wait $cppid
Last edited by era; 05-21-2008 at 04:00 AM..
Reason: Remove destination file if interrupted; percentage calculation wrong (duh :-); put break after awk so it prints 100% at end
i am trying to write a script where in it will connect to remote servers and execute remote scripts to fetch some data and ftp it back to a main server. i would like to add a script where it will show some sort of status bar until such time that the expected files have been recieved.
something... (3 Replies)
Hi all,
I want to print # like that in a progress bar..
For e.g We can notice that during installation ... but,how to do that?
Thnx,
sakthi. (4 Replies)
Hi friends,
how can I show a progress bar for any running process in the shell script.
For example when I am copying or compressing a file.
Thanks. (1 Reply)
hi all,
in shell script (ksh), how do i write a progress bar ?? i have a script which searches files and while its searching i am currently printing out "." and if it finds what its searching for the script prints out the name of the file e.g
..................
firstFile.txt... (2 Replies)
Hello, it's me again...:eek:
I need to create a progress bar in C, but i have no idea on how to do it.
i want it to output something like this:
Progress: 58%
But i can't get it to work. Could you please post an example progress bar written in ANSI C?
Thanks (4 Replies)
I'm trying to use this code to get a progress bar for cp:
"Can you get cp to give a progress bar like wget?"
But I'm getting these errors:
stat: illegal option -- c
usage: stat
awk: division by zero
input record number 1, file
source line number 4
I'm using Mac OS X 10.6... (1 Reply)
-First-
Hi guys im trying to create a small C app that'll run PING/NETSTAT and such and generate a report... I want to create a progress bar so I figure since I was gonna use multiple commands I was better of to create a function and call the bar when needed to print on the command line
My... (7 Replies)
Looking for a solution to why my progress bar not working
My code
print "STARTED:\n ";
my $pdf = CAM::PDF->new('XYZ.pdf') or die $CAM::PDF::errstr;
print STDOUT "Processing File: ";
open (FILE, ">bill_data.txt") || die "Unable to save Bill_data.txt file";
for my $pagenum (1 ..... (4 Replies)
Hi Experts;
Im in the process of writing a shell script for enabling an IT operations to run archiving.We use netbackup. The script is complete, though there is one bit that i need help on. Im trying to have a progess bar for the procedure.I have gone through the man page of the command in... (5 Replies)
Discussion started by: maverick_here
5 Replies
LEARN ABOUT DEBIAN
curses::widgets::progressbar
Widgets::ProgressBar(3pm) User Contributed Perl Documentation Widgets::ProgressBar(3pm)NAME
Curses::Widgets::ProgressBar - Progress Bar Widgets
MODULE VERSION
$Id: ProgressBar.pm,v 1.103 2002/11/03 23:40:04 corliss Exp corliss $
SYNOPSIS
use Curses::Widgets::ProgressBar;
$progress = Curses::Widgets::ProgessBar->({
CAPTION => 'Progress',
CAPTIONCOL => 'yellow',
LENGTH => 10,
VALUE => 0,
FOREGROUND => undef,
BACKGROUND => 'black',
BORDER => 1,
BORDERCOL => undef,
HORIZONTAL => 1,
X => 1,
Y => 1,
MIN => 0,
MAX => 100,
});
$progress->draw($mwh);
$progress->input(5);
See the Curses::Widgets pod for other methods.
REQUIREMENTS
Curses
Curses::Widgets
DESCRIPTION
Curses::Widgets::ProgressBar provides simplified OO access to Curses-based progress bar. Each object maintains it's own state information.
Note that this widget is designed for rendering, not interactive input. The application should update the the value of the bar by either
calling the input method, which will add the passed value to the widget's current value, or by setting the value directly via the setField
method.
METHODS
new (inherited from Curses::Widgets)
$progress = Curses::Widgets::ProgressBar->({
CAPTION => 'Progress',
CAPTIONCOL => 'yellow',
LENGTH => 10,
VALUE => 0,
FOREGROUND => undef,
BACKGROUND => 'black',
BORDER => 1,
BORDERCOL => undef,
HORIZONTAL => 1,
X => 1,
Y => 1,
MIN => 0,
MAX => 100,
});
The new method instantiates a new Progress Bar object. The only mandatory key/value pairs in the configuration hash are X and Y. All oth-
ers have the following defaults:
Key Default Description
============================================================
CAPTION undef Caption superimposed on border
CAPTIONCOL undef Foreground colour for caption text
LENGTH 10 Number of columns for the bar
VALUE 0 Current value
FOREGROUND undef Default foreground colour
BACKGROUND undef Default blackground colour
BORDER 1 Display border around the set
BORDERCOL undef Foreground colour for border
HORIZONTAL 1 Horizontal orientation for bar
MIN 0 Low value for bar (0%)
MAX 100 High vlaue for bar (100%)
Setting the value will change the length of the bar, based on the bounds set with MIN and MAX. The CAPTION is only rendered on the border
of a horizontal progress bar.
draw
$progress->draw($mwh);
The draw method renders the progress bar in its current state. This requires a valid handle to a curses window in which it will render
itself.
input
$progress->input(5);
The argument is added to the progress bar's current value.
HISTORY
2001/07/05 -- First implementation
AUTHOR /COPYRIGHT
(c) 2001 Arthur Corliss (corliss@digitalmages.com)
perl v5.8.8 2006-09-14 Widgets::ProgressBar(3pm)