how to have a cp progress bar?


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users how to have a cp progress bar?
# 1  
Old 05-20-2008
how to have a cp progress bar?

Hi all,
This is a reformed post to my earlier ones!!!!!!

I would like to know how to include a progress bar while using the cp...
I am copying a few huge files from cdrom but am unable to figure out ,how to give a progress bar!!!!!

I checked out other sites as well,but the issue here is that,this cp is happenning in one of the boot scripts during boot time!!!

So i cannot have other explicit executable scripts that run within an already running script, also i tried converting some script to functions and passing these files as args,but didnt work!!!!

So could you pls give out some scripts (plain scripts) that do the job?

Thanks
# 2  
Old 05-21-2008
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
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Progress bar

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

2. Shell Programming and Scripting

Perl Progress BAR

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)
Discussion started by: chakrapani
4 Replies

3. Programming

C progress bar issues

-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)
Discussion started by: Jess83
7 Replies

4. Shell Programming and Scripting

Progress bar for cp

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)
Discussion started by: pcwiz
1 Replies

5. Programming

A progress bar in C

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)
Discussion started by: Zykl0n-B
4 Replies

6. Shell Programming and Scripting

progress bar

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)
Discussion started by: cesarNZ
2 Replies

7. Shell Programming and Scripting

Progress bar

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)
Discussion started by: dwiravi
1 Replies

8. UNIX for Advanced & Expert Users

progress bar

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)
Discussion started by: sakthi.abdullah
4 Replies

9. Shell Programming and Scripting

progress bar

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)
Discussion started by: inquirer
3 Replies
Login or Register to Ask a Question