Solved

Merge TIFF files with the same part of a filename

Posted on 2011-03-04
9
1,212 Views
Last Modified: 2012-06-27
I have a directory with thousands of TIFF files. An example of the files are:

32202900_55967.tif
32202900_56130.tif
32206130_57427.tif
32206130_57515.tif
32209667_60298.tif
32209667_60508.tif
and so on...

As you can see, the first 8 digits of some of the filenames are exactly the same. These actually belong together as one file. I need a script that joins 2 (or more) TIFF files together which have the same first 8 digits AND removing the underscore and everything after it. So based on the above example, the final output should look like this:

32202900.tif
32206130.tif
32209667.tif
and so on...

Thanks in advance.
0
Comment
Question by:bpatton_psr
  • 6
  • 2
9 Comments
 
LVL 11

Expert Comment

by:Tasmant
Comment Utility
how these files were split
0
 

Author Comment

by:bpatton_psr
Comment Utility
Can't say. That's how we got them from a vendor. (!)
0
 
LVL 8

Expert Comment

by:point_pleasant
Comment Utility
Give this a try.  It makes several assumptions;

1) the numbers in places 10-14 in the file name determine how the join is made, lower numbers go first
2) all the file names are the same format
3) Simply cat'ing them together in the right order will preserve the tiff file integrity


last_file=""
for i in `ls *.tiff | sort -n`
do
        first8=`echo $i | cut -c1-8`
        filename=`echo $i | cut -c1-8,15-19`
        if [ "$first8" != "$last_file" ]
        then
                echo "New File $filename"
                last_file=$first8
                cat $i > $filename
        else
                cat $i >> $filename
        fi
done
0
 

Author Comment

by:bpatton_psr
Comment Utility
Didn't work. Saved it as a .bat in the same directory. Ran it. Nothing happens.
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 8

Expert Comment

by:point_pleasant
Comment Utility
oops this is bash shell for linux machine
0
 

Author Comment

by:bpatton_psr
Comment Utility
Ah, I am using a Windows machine.
0
 

Author Comment

by:bpatton_psr
Comment Utility
Hey. I wasn't sure if you were writing a script for a windows bat file or vbs. Thought I'd check.
0
 

Accepted Solution

by:
bpatton_psr earned 0 total points
Comment Utility
@echo off 

for /f "tokens=1,2 delims=_" %%a in ('dir *.pdf /b') do ( 
md "%%a" 2>nul 
move "%%a_%%b" ".\%%a\" >nul 
) 
for /f "delims=" %%a in ('dir /a:d /b') do ( 
copy /b "%%a\*.*" "%%a.pdf" 
) 

Open in new window

0
 

Author Closing Comment

by:bpatton_psr
Comment Utility
Didn't get any response, so got help from different websites. Thought to post the solution here and close the question out.
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now