Check for particular files and compare the file names


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Check for particular files and compare the file names
# 1  
Old 02-01-2012
Check for particular files and compare the file names

Hi,

Below are the 2 files in directory /tmp:
masterCSF242323.img
indexCSF242323.img

1) I want to compare if both the number (242323) are same in both the files. If they are same print - Files matching, else print files do not match.

2) Also if only index file is present in that directory, I want to print- only index file is present.

Please help me in this using regular expression or anything else.

Thanks in Advance.
# 2  
Old 02-01-2012
Try this

Code:
#! /bin/bash
file1=`ls /tmp/masterCSF* | head -1`
file2=`ls /tmp/indexCSF* | head -1`
if [ -z "$file1" ]; then
 echo " Only indexCSF file is available"
exit 1
fi
val1=`echo "$file1" | tr -dc [0-9]`
val2=`echo "$file2" | tr -dc [0-9]`
if [ "$val1" = "$val2" ];then
echo "File match"
else
echo "File does not match"
fi


Last edited by Franklin52; 02-01-2012 at 10:15 AM.. Reason: Please use code tags for code and data samples, thank you
This User Gave Thanks to kalpeer For This Post:
# 3  
Old 02-01-2012
Please try this:

Code:
  let MSTNUM=$(echo masterCSF242323.img | sed -e 's/[^0-9]*//g')
  let IDNUM=$(echo indexCSF242323.img | sed -e 's/[^0-9]*//g')
 
  if [[ ${MSTNUM} -eq ${IDNUM} ]]; then
     echo "The numbers are equal"
 else
     echo "They are not"
 fi

You can also use Shell Builtin
Code:
MST=masterCSF242323.img 
MSTNUM=${MST%.img}; MSTNUM=${MSTNUM#masterCSF}
IDT=indexCSF242323.img 
IDNUM=${IDT%.img}; IDNUM=${IDNUM#indexCSF}
 
if [[ ${MSTNUM} -eq ${IDNUM} ]]; then
     echo "The numbers are equal"
else
     echo "They are not"
fi

This User Gave Thanks to knight_eon For This Post:
# 4  
Old 02-02-2012
Thanks a lot.... Smilie

Could any one help me in perl?
# 5  
Old 02-02-2012
If you're working in UNIX, you're going to need to learn the shell... I wrote some horrible perl scripts before I realized 99% of what I was doing was shell work. Any particular reason the shell ones won't work?
# 6  
Old 02-02-2012
Yes, All the scripts of mine are perl.
I have something like this here,
Code:
m/^index(CSF|TAS)([0-9a-zA-Z]+)\.([a-zA-Z][a-zA-Z][a-zA-Z])$/i

But dont know how to implement further.

Last edited by Franklin52; 02-03-2012 at 02:04 PM.. Reason: Please use code tags for data and code samples, thank you
# 7  
Old 02-02-2012
Quote:
Yes, All the scripts of mine are perl.
Any particular reason? I wrote some really horrible perl scripts before I realized 99% of what I was doing was actually shell work, much simpler and more efficient in that language.

Code:
$ wc -l perl-backup.pl bash-backup.sh
  49 perl-backup.pl
  25 bash-backup.sh
  74 total
$

Anyway. That regex looks a lot more complicated than you need. Why match all the stuff you don't care about? Just match the things you want, and enough to know it's where it belongs, at the end.

Code:
#!/usr/bin/perl

my $FILE1="masterCSF242323.img";
my $FILE2="indexCSF242323.img";

$FILE1 =~ /([0-9]+)\.[^0-9]*$/;
$NUM1=$1;
$FILE2 =~ /([0-9]+)\.[^0-9]*$/;
$NUM2=$1;

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Compare Only "File Names" in 2 Files with file lists having different directory structure

I have a tar arcive arch_all.tar.gz and 4 batched tar archive . These batches are supposed to have all the files form arch1.all.tar.gz arch1_batch1.tar.gz arch1_batch2.tar.gz arch1_batch3.tar.gz arch1_batch4.tar.gz my issue is that the directory structure in "arch_all.tar.gz" is... (6 Replies)
Discussion started by: sumang24
6 Replies

2. Shell Programming and Scripting

Compare files with different names in different directories

Hi, I have a requirement to compare files in different directories with different names. The files have a datestamp in their name (It might not be a sequential datetimestamp). This is for Redhat Linux. I have more than 5 directories and more than 10 file in each directory to be compared. ... (4 Replies)
Discussion started by: GosarJunk
4 Replies

3. Shell Programming and Scripting

Exclude certain file names while selectingData files coming in different names in a file name called

Data files coming in different names in a file name called process.txt. 1. shipments_yyyymmdd.gz 2 Order_yyyymmdd.gz 3. Invoice_yyyymmdd.gz 4. globalorder_yyyymmdd.gz The process needs to discard all the below files and only process two of the 4 file names available ... (1 Reply)
Discussion started by: dsravanam
1 Replies

4. Shell Programming and Scripting

Compare two files containing package names and version number

I have 2 files each containing a list of same fedora packages but with different version number. I want to compare the 2 files and remove the lines containing a newer or older version number (1 Reply)
Discussion started by: asya18
1 Replies

5. Shell Programming and Scripting

Compare two files and get only missing names

I need to compare two files (oldfile1 & newfile). Need to ignore the values which are present in both files. At the same time, i need to get only records in new file. Tried using Join -v1 -v2 oldfile1 newfile (suspect it has not worked as expected). could anyone of you please help me here. (5 Replies)
Discussion started by: Selva_2507
5 Replies

6. Shell Programming and Scripting

Compare file names on directory

Dears, Would you please help on following bash script: I want to get the most recent file named alfaYYYYMMDD.gz in one directory: for example: in directory /tmp/ ls -ltr alfa20130715.gz holding.gz alfa20130705.gz sart.txt merge.txt.gz alfa20130802.gz my result shoud be... (1 Reply)
Discussion started by: maxsub
1 Replies

7. UNIX for Dummies Questions & Answers

how to compare names of files?

hi, can somebody tell me how to compare names of files? the situation is I have 2 files file1 and file2 and I want to figure out which file has the biggest ending, in this case file2 is. thank you (3 Replies)
Discussion started by: s3270226
3 Replies

8. Shell Programming and Scripting

Compare list [ names and size files ]

Hello, I've downloaded a huge amont of files I've got a list of files from a remote server. -rw-r--r-- 1 str661 strem 453465260 Dec 16 15:54 SATRYS2V1_20021218_temp_bias.nc -rw-r--r-- 1 str661 strem 17669468 Dec 16 18:01 SATRYS2V1_20021225_hdyn_bias.nc -rw-r--r-- 1... (9 Replies)
Discussion started by: Aswex
9 Replies

9. Shell Programming and Scripting

Compare File Names in Different Directories...

I do not know much about shell scripting and need to create a script and I am at a loss. If someone can help me, that would be great!! I have two directories: /dir1 /dir2 I need to get the sequence number which is part of the filename in /dir1 and delete all files in /dir2 that are... (4 Replies)
Discussion started by: stky13
4 Replies

10. Shell Programming and Scripting

Compare file names

Hi everyone, How to compare between two filenames, in case the current filename is the same as the last one an alarm to be sent, in case the current filename is different from the last filename, no alarm to be sent. Is there a way to do this? Thanks in advance. (4 Replies)
Discussion started by: charbel
4 Replies
Login or Register to Ask a Question