% File Copy


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers % File Copy
# 1  
Old 08-29-2001
% File Copy

is there a command within unix which will allow you to copy a certain % of the file to a new file.

EG : File a --> Copy 65% of a to give File b
# 2  
Old 08-29-2001
negative. your best bet at something like that would be write a script that will do:

Variable=line count / 2
processing line by line incrimenting till new variable is = variable
then dumping to file
# 3  
Old 08-30-2001
My sloppy mess...

OK, I started thinking about it because it was bugging me, and tossed this together. Keep in mind that it is not very accurate, and gets less so the larger the file is. It rounds down, since I basically just chop all decimal remainders off, even if it's .99. And right now, it'll copy the bottom % of the file. If you want to copy the top of the file, change the _command variable from "tail" to "head". I don't know how portable this is, but it will give you an idea -
Now, without further ado - here goes:

#!/bin/sh
# copy percentage of file to another
# not very accurate, especially with files with a large
# number of lines...

_command="tail"
_from=$1
_per=$2
_to=$3
to_use () {
echo
echo "Usage: "
echo "`basename $0` file1 65 file2 "
echo "will copy (about) 65% of file1 to file2 "
echo
}
if [ "$#" != "3" ] ; then
to_use
exit 2
fi
if [ "$_per" -gt 100 -o "$_per" -lt 10 ] ; then
echo "Percentage must be between 10 and 100 "
echo
exit 2
fi
# special thanks to Faux_pseudo for helping here:
_fsize=`wc -l $_from | awk '{print $1}'`
_persize=`echo "$_fsize * 0.${_per}" | bc -q`
_fper=`echo $_persize | cut -d. -f1`
# Wheeee!
$_command -${_fper} ${_from} > ${_to}


Feel free to post any corrections or ideas. I'm always up to improve my scripting. It's pretty obvious to us all now that I'm not afraid to waste some time and resources!


Ooh.. Almost forgot to mention, it won't calculate anything less than 10% - I didn't want to throw the possibility of screwing something up in there, and I'm too tired to test it out any more. If it will work that way, you can change the "$_per -lt 10 to "_$per -lt 1.

--
LF

Last edited by LivinFree; 08-30-2001 at 07:34 AM..
 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Copy the content from txt file and create a html file

I have a txt file with a list of error messages in a xml tag format, and each error message is separated with a identifier(endresult).Need to split that and copy and create a new html file.Error message has some special character. how to escape the special character and insert my data into the... (7 Replies)
Discussion started by: DevAakash
7 Replies

2. Shell Programming and Scripting

Change the file name and copy old file content to new file names.

Hi, I have a files in a directory as below :- ls -1 mqdepth-S1STC02 proc-mq-S1STC01 proc-mq-S1STC02 proc-mq-S1STC03 Whereever i have S1STC i need to copy them into new file with file name S2STC. expected output :- ls -1 mqdepth-S2STC02 proc-mq-S2STC01 proc-mq-S2STC02... (3 Replies)
Discussion started by: satishmallidi
3 Replies

3. Shell Programming and Scripting

how to copy the directory but not copy certain file

Hi experts cp bin root src /mnt but not copy bin/bigfile any help? ( I post this thread in the "redhat" forum wrongly, I don't know how to withdraw that question in that wrong forum) Thanks (6 Replies)
Discussion started by: yanglei_fage
6 Replies

4. Programming

how to copy downloaded file into my source file folder (putty/unix)

I need to "Ensure that when you download libchat.a from the VLE you have copied it to the same folder on ius as your source files. You then refer to the library (and the libraries it needs) with: gcc -o outputfile sourcefile.c -L. -lchat -lsocket -lnsl" But I have no idea what this means! (I... (2 Replies)
Discussion started by: fakuse
2 Replies

5. Red Hat

Copy certain file types recursively while maintaining file structure on destination?

Hi guys, I have just been bothered by a fairly small issue for some time now. I am trying to search (using find -name) for some .jpg files recursively. This is a Redhat environment with bash. I get this job done though I need to copy ALL of them and put them in a separate folder BUT I also... (1 Reply)
Discussion started by: rockf1bull
1 Replies

6. UNIX for Dummies Questions & Answers

Copy a windows CVS file to the unix server as a svs file

I so desperately need a script to copy a windows csv file to my unix server and i know these should be at dummies but i have no bits. it is life & no job situation help please. thanks (1 Reply)
Discussion started by: zhegal
1 Replies

7. UNIX for Dummies Questions & Answers

Copy a file from a dvd to the local AIX file system

Hi, I am a newbie to AIX, so please bear with me. I have mounted a dvd drive on AIX. I am trying to copy the file that is on the dvd drive on to the local machine. However, I get an error: cp: c1m_0001.gz: A system call received a parameter that is not valid. Can some one point me to the... (1 Reply)
Discussion started by: anurag1510
1 Replies

8. Shell Programming and Scripting

Bash copy file contents into an existing file at a specific location

Hi all I need to copy the entire contents of one file into an existing file at a specific location. I know the exact line number where I need to put it. It appears I would use either sed or awk to do this, but I have been unsuccessful so far: File A line 1 line 2 line 3 line 4 ... (6 Replies)
Discussion started by: gshepherd7
6 Replies

9. Shell Programming and Scripting

how to copy a file to a directory ,where file and dir are sent as args to a function?

Hi all, I wanted to know how i can copy a file to a directory and then verify if that file is completely copied or not? Now the issues here is that the dir and the source file are to be sent as arguments to a function( this function should actually copy the files to a dir, then check if its... (0 Replies)
Discussion started by: wrapster
0 Replies
Login or Register to Ask a Question