The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
Google UNIX.COM


UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Script to capture new lines in a file and copy it to new file fara_aris Shell Programming and Scripting 0 05-27-2008 07:11 PM
Shell script to search for text in a file and copy file imeadows UNIX for Dummies Questions & Answers 8 04-20-2008 01:41 PM
How to copy file through ssh tikka123 Shell Programming and Scripting 2 03-18-2008 12:40 AM
Copy File JuergenW UNIX for Dummies Questions & Answers 2 09-09-2002 05:17 AM
using C to copy a file ... abdul High Level Programming 1 09-11-2001 05:36 AM

Closed Thread
 
Submit Tools LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 08-29-2001
Registered User
 

Join Date: Jun 2001
Posts: 3
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
% 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
Forum Sponsor
  #2 (permalink)  
Old 08-29-2001
flim flam flamma jamma
 

Join Date: May 2001
Location: Chicago IL, USA
Posts: 1,006
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
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 (permalink)  
Old 08-30-2001
LivinFree's Avatar
Goober Extraordinaire
 

Join Date: Jul 2001
Location: Portland, OR, USA
Posts: 1,584
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
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 03:34 AM.
Google UNIX.COM
Closed Thread

Thread Tools
Display Modes


The 50 most popular UNIX and Linux searches.
Google Search Cloud for The UNIX and Linux Forums
421 service not available, remote server has closed connection ^m automate ftp autosys awk trim bash eval bash exec bash for loop close_wait command copy/move folder in unix couldn't set locale correctly curses.h cut command in unix dead.letter find grep find null character in a unix file grep multiple lines grep or grep recursive inaddr_any inappropriate ioctl for device ksh if logrotate.conf lynx javascript mailx attachment mget mtime ping port remove first character from string in k shell replace space by comma , perl script scp recursive segmentation fault(coredump) sftp script snoop unix stale nfs file handle syn_sent tar exclude test: argument expected unix unix .profile unix forum unix forums unix internals unix interview questions unix mtime unix simulator unix.com vi substitute vi+substitute+end+of+line+character while loop within while loop shell script


All times are GMT -7. The time now is 07:17 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101