Compare file name and take action


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Compare file name and take action
# 1  
Old 05-21-2019
Compare file name and take action

Have some files in /tmp/dir
Code:
abc.zip
123.zip
345.zip

and if name matches to 345.zip then take action
My code....

am i doing something wrong ? Please advise.

Code:
#!/bin/bash
set -x
cd /tmp/dir

for i in *.*
do
  if [[ -f "$i" = "345.zip"]]
  then
   echo "do nothing ........
   '
  else
   echo " do something"
done

Moderator's Comments:
Mod Comment Please wrap your samples in CODE TAGS as per forum rules. Thank you.

Last edited by RavinderSingh13; 05-21-2019 at 08:00 AM..
# 2  
Old 05-21-2019
Running that script you should have seen some error messages. Why don't you post those as well, and be it sheer politeness to give the full picture?
# 3  
Old 05-21-2019
Getiting below error

+ cd /tmp/dir
./a.sh: line 6: syntax error in conditional expression
./a.sh: line 6: syntax error near `='
./a.sh: line 6: ` if [[ -f "$i" = "345.zip"]]'
# 4  
Old 05-21-2019
Please advise ,where its going wrong in syntax.
# 5  
Old 05-21-2019
If you want to know if the file named by the contents of the variable named i is a regular file, use:
Code:
  if [[ -f "$i" ]]

If you want to know if the string that is the contents of the variable named i is the string 345.zip, use:
Code:
  if [[ "$i" == "345.zip"]]

If you want to know if the file named by the contents of the variable named i is a regular file named 345.zip use:
Code:
  if [[ -f "$i" ]] && [[ "$i" == "345.zip"]]

Then note that with your loop (if you have three files one of which is named 345.zip that match the filename matching pattern *.*) you'll echo do nothing once and echo do something twice. Is that really what you want to do?
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script (sh file) logic to compare contents of one file with another file and output to file

Shell script logic Hi I have 2 input files like with file 1 content as (file1) "BRGTEST-242" a.txt "BRGTEST-240" a.txt "BRGTEST-219" e.txt File 2 contents as fle(2) "BRGTEST-244" a.txt "BRGTEST-244" b.txt "BRGTEST-231" c.txt "BRGTEST-231" d.txt "BRGTEST-221" e.txt I want to get... (22 Replies)
Discussion started by: pottic
22 Replies

2. Shell Programming and Scripting

Script to monitor for new file with ext .err and size > 0 bytes and perform a action or command

Hi All, I need to create a script to monitor a dir for new files with ext .err and also it should b a non empty files. and perform a action or command . We have a new ETL application that runs on a linux server, every times a etl fails it creates a .err file or updates the existing .err... (4 Replies)
Discussion started by: MAKHAN
4 Replies

3. Shell Programming and Scripting

shell script - search a file and perform some action

hi, i have a service on unix platform, it will generate traces in a particular folder i want to check using shell script if traces exist, then perform some action else continue to be in loop. filename is service.tra can you please help? thanks (4 Replies)
Discussion started by: gauravah
4 Replies

4. Shell Programming and Scripting

Take action only if a file is X hours (or seconds) old

shell: #!/bin/ash I searched and found a few relevant posts (here and here - both by porter, on the same day (?)) however both are just a do while loop, I need to check a file date and compare it to the current time. I would like it to say if file 'test' is more than 12 hours old than "right... (3 Replies)
Discussion started by: phdeez
3 Replies

5. Shell Programming and Scripting

Opening file and executing an action

I want the script to read the directory I am running the script from and print the contents of any file that has GX in it's title. This is the code needed. But how do I combine it? #!/usr/bin/perl opendir(CURRENT,"."); @list = readdir(CURRENT); closedir(CURRENT); foreach $item (@list){... (4 Replies)
Discussion started by: DemonixX
4 Replies

6. Shell Programming and Scripting

Take action if a particular file appears in a directory

This is my task - pls help Write a script that will run every 5 min and check if a particular file has appeared in a particular directory. Once it appears then rename the file and move it a bkp directory and run another script. (3 Replies)
Discussion started by: mrudula009
3 Replies

7. Shell Programming and Scripting

Perform action file name written to the pipe

Hello, I have a script that monitors files uploaded via ftp. After a successful upload, the file name is written to the pipe. There is another program that reads this pipe and allows automatically run any program or script ( say test.sh ) to process the newly uploaded file. cat test.sh... (2 Replies)
Discussion started by: fed.linuxgossip
2 Replies

8. Shell Programming and Scripting

Clean file in single action

What one finds challenging another finds simple... (HPUX B.11.11) I have a text file named something like 12345.dst that could look like this: DOG CAT NONE TEST CAT What I want to end up with is 12345.dst looking like this: CAT DOG TEST removing "NONE" should it be there and... (1 Reply)
Discussion started by: djp
1 Replies

9. Shell Programming and Scripting

Compare 2 different file version and prompt for action

Hi, I need some assistance with comparing 2 diff application. The format of the first file is in TAR "filename.1.2.3.tar" . The second file is a running application for which i need to find the version and then prompt the user for action as below :- Once compared, It needs to prompt the user,... (0 Replies)
Discussion started by: systemali
0 Replies
Login or Register to Ask a Question