Zipping files by numeric name range


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
Zipping files by numeric name range

Hi there,

Not being too up on bash shell programming at this point, could anyone throw me a bone about how to zip up a set of numerically-named files by range?

For example, in a folder that contains files 1.pdf through 132000.pdf, I'd like to zip up just those files that are 50000.pdf and greater.

Many thanks!
Tim
# 2  
Quote:
Originally Posted by enwood
Hi there,

Not being too up on bash shell programming at this point, could anyone throw me a bone about how to zip up a set of numerically-named files by range?

For example, in a folder that contains files 1.pdf through 132000.pdf, I'd like to zip up just those files that are 50000.pdf and greater.

Many thanks!
Tim
Create a bash script like this ...

Code:
mkdir destination

for x in /yourfolder/{5000..1000000}; 
do cp  $x destination; 
done;

zip destination;

Hope this helps ...
# 3  
Much appreciated, Steve!

I only had to add my file extension:

Code:
mkdir destination

for x in /yourfolder/{5000..1000000}.pdf;
do cp  $x destination;
done;

zip destination;

Thanks for the leg up.

Tim
# 4  
Quote:
Originally Posted by enwood
Much appreciated, Steve!

I only had to add my file extension:

Code:
mkdir destination

for x in /yourfolder/{5000..1000000}.pdf;
do cp  $x destination;
done;

zip destination;

Thanks for the leg up.

Tim
HI Tim,

Yes, I forgot the file extension ...

The 1000000 simply represents an upper maximum value.

Does the script actually work ?

Steven M
# 5  
Yes, Steve, it does the job I needed, allowing me to pull specific ranges of files.

It also has the added benefit of reporting which files in the range are missing, because it will complain when one is missing:

Code:
cp: cannot stat `instruments/132479.pdf': No such file or directory
cp: cannot stat `instruments/132480.pdf': No such file or directory
cp: cannot stat `instruments/132481.pdf': No such file or directory
cp: cannot stat `instruments/132482.pdf': No such file or directory
cp: cannot stat `instruments/132483.pdf': No such file or directory

This has also been very helpful to know.

I really appreciate your time,
Tim

Last edited by Scott; 08-17-2013 at 12:12 PM.. Reason: Code tags
# 6  
Quote:
Originally Posted by enwood
Yes, Steve, it does the job I needed, allowing me to pull specific ranges of files.

It also has the added benefit of reporting which files in the range are missing, because it will complain when one is missing:

cp: cannot stat `instruments/132479.pdf': No such file or directory
cp: cannot stat `instruments/132480.pdf': No such file or directory
cp: cannot stat `instruments/132481.pdf': No such file or directory
cp: cannot stat `instruments/132482.pdf': No such file or directory
cp: cannot stat `instruments/132483.pdf': No such file or directory

This has also been very helpful to know.

I really appreciate your time,
Tim
You could try this ....
Code:
mkdir destination

for x in /yourfolder/{5000..1000000}*.pdf;

if ! test -e "$x"
   then
   echo "$x" does not exist
   continue;
fi

do cp  $x destination;
done;

zip destination;


Last edited by Scott; 08-17-2013 at 12:12 PM.. Reason: Code tags
# 7  
Quote:
Originally Posted by steve matthews
Code:
   echo "$x" does not exist

It's best to always redirect diagnostic messages to stderr, so that when someone runs your script with stderr redirected, the messages are sent to the correct destination.
Code:
echo error_message 1>&2

Regards,
Alister
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #343
Difficulty: Medium
Scott McNealy, Andy Bechtolsheim, and Vinod Khosla, all Caltech graduate students, founded Sun Microsystems.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Find and removing the old files and zipping the files using shell script

Hi, I am trying to removing the old files which were older than 10 days and same g zipping the files using the shell script. script was return as follows. find /jboss7_homes/JBOSS7/SKYLIV??/SKYLIV??_CRM/jboss-eap-7.0/standalone/log -mtime +10 -type f | xargs rm -f find /cer_skyliv??/log... (6 Replies)
Discussion started by: venkat918
6 Replies

2. Shell Programming and Scripting

Zipping files

Hi Guys, The script below works but it creates a zip folder under 123_arch.zip -- test1 -- orig1.txt -- orig2.txt -- orig3.txt -- orig4.txt I don't want the sub directory test1 but everything under the base *arch name I can not create a long name with... (4 Replies)
Discussion started by: GaryP1973
4 Replies

3. Shell Programming and Scripting

Generate Regex numeric range with specific sub-ranges

hi all, Say i have a range like 0 - 1000 and i need to split into diffrent files the lines which are within a specific fixed sub-range. I can achieve this manually but is not scalable if the range increase. E.g cat file1.txt Response time 2 ms Response time 15 ms Response time 101... (12 Replies)
Discussion started by: varu0612
12 Replies

4. Shell Programming and Scripting

Awk numeric range match only one digit?

Hello, I have a text file with lines that look like this: 1974 12 27 -0.72743 -1.0169 2 1.25029 1974 12 28 -0.4958 -0.72926 2 0.881839 1974 12 29 -0.26331 -0.53426 2 0.595623 1974 12 30 7.71432E-02 -0.71887 3 0.723001 1974 12 31 0.187789 -1.07114 3 1.08748 1975 1 1 0.349933 -1.02217... (2 Replies)
Discussion started by: meridionaljet
2 Replies

5. Programming

Perl : Numeric Range Pattern Matching

hi Experts just wondering if you can help me check a number between a specific range if i have an ip address , how can i say the valid number for ip between 1 to 254 something like this if ($ip ) =~ /.../ { } what the pattern i need to type thanks (3 Replies)
Discussion started by: doubando
3 Replies

6. Shell Programming and Scripting

Count occurences of a numeric string falling in a range

Dear all, I have numerous dat files (1.dat, 2.dat...) containing 500 numeric values each. I would like to count them, based on their range and obtain a histogram or a counter. INPUT: 1.dat 1.3 2.16 0.34 ...... 2.dat 1.54 0.94 3.13 ..... ... (3 Replies)
Discussion started by: chen.xiao.po
3 Replies

7. Shell Programming and Scripting

awk to match a numeric range specified by two columns

Hi Everyone, Here's a snippet of my data: File 1 = testRef2: A1BG - 13208 13284 AAA1 - 34758475 34873943 AAAS - 53701240 53715412File 2 = 42MLN.3.bedS2: 13208 13208 13360 13363 13484 13518 13518My awk script: awk 'NR == FNR{a=$1;next} {$1>=a}{$1<=a}{print... (5 Replies)
Discussion started by: heecha
5 Replies

8. Shell Programming and Scripting

zipping files

Hi, Is there any difference if files are individually zipped and archived in a directory or if files are moved into archiving directory and zipping that directory. (3 Replies)
Discussion started by: swathich
3 Replies

9. Shell Programming and Scripting

numeric range comparisons

I have two files.And a sort of matrix analysis. Both files have a string followed by two numbers: File 1: A 2 7 B 3 11 C 5 10 ...... File 2: X 1 10 Y 3 5 Z 5 9 What I'd like to do is for each set of numbers in the second file indicate if the first or second number (or both) in... (7 Replies)
Discussion started by: dcfargo
7 Replies

10. Shell Programming and Scripting

zipping files

Dear Experts, I need a script which will zipped the files older than 2 days. but i dont want to use find . * -mtime 2. Is there is any other method to achive this task. i will ececute the script daily. Regards, (3 Replies)
Discussion started by: shary
3 Replies

Featured Tech Videos