Identify missing file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Identify missing file
# 1  
Old 01-06-2017
Identify missing file

I am on linux and I am supposed to receive 3 files. If any of the files are not received I need to identify the missing file and throw it out in a variable.

I have put in something like this

Code:
if [[ -a $file1 ]]
    then echo "file $file1 was found"
else
    echo "ERROR: file $file1 was not found!!!"
      #####  set a variable here ##############
       fi

if [[ -a $file2 ]]
    then echo "file $file2 was found"
else
    echo "ERROR: file $file2 was not found!!!"
 #####  set a variable here ##############
               
fi

if [[ -a $file3 ]]
    then echo "file $file3 was found"
else
    echo "ERROR: file $file3 was not found!!!"
                #####  set a variable here ##############

Is there a way I can capture each file in a variable and throw out the missing file after all the checks are completed?

Last edited by Don Cragun; 01-06-2017 at 04:02 AM.. Reason: Change opening ICODE tag to CODE tag; add closing CODE tag.
# 2  
Old 01-06-2017
Something like this,

Code:
missing_file=$file1
echo $missing_file

# 3  
Old 01-06-2017
Thanks. How can I check if any of the 3 files is missing and exit out with the missing file information
# 4  
Old 01-06-2017
Quote:
Originally Posted by dsravanam
I am on linux and I am supposed to receive 3 files. If any of the files are not received I need to identify the missing file and throw it out in a variable.

I have put in something like this

Code:
if [[ -a $file1 ]]
    then echo "file $file1 was found"
else
    echo "ERROR: file $file1 was not found!!!"
      #####  set a variable here ##############
       fi

if [[ -a $file2 ]]
    then echo "file $file2 was found"
else
    echo "ERROR: file $file2 was not found!!!"
 #####  set a variable here ##############
               
fi

if [[ -a $file3 ]]
    then echo "file $file3 was found"
else
    echo "ERROR: file $file3 was not found!!!"
                #####  set a variable here ##############

Is there a way I can capture each file in a variable and throw out the missing file after all the checks are completed?
What do you mean by "capture each file in a variable"? You already have each file's pathname in a variable. You can't put the contents of a file that was not found in a variable (unless you just want to set a variable to an empty string).

I assume that you are asking for our help in setting variables (since you have put those comments in bold text), but I have no idea what you intend to do with those variables???

How do you "throw out the missing file"? If a file is missing isn't it already gone???
# 5  
Old 01-06-2017
You can use a loop over your files, for instance (since you didn't specify which shell you want to use) in bash/zsh:

Code:
typeset -i number_of_unfound_files=0
for file_to_check in $file1 $file2 $file3
do
   [[ -a $file_to_check ]] || ((++number_of_unfound_files)
done

What you have to do exactly in the loop, I can't say, because - as Don Cragun already pointed out - you did not specify it in your posting.
# 6  
Old 01-06-2017
What i was looking for was to find out which file is missing by assigning a variable in the check condition for each file and if any of the variables have a value exit it out by throwing which file was missing based on the variable.
# 7  
Old 01-06-2017
I would use something like:
Code:
missing=0
for file in "$file1" "$file2" "$file3"
do	if [ -e "$file" ]
	then	printf 'file "%s" found.\n' "$file"
	else	printf 'file "%s" not found.\n' "$file" >&2
		missing=$((missing + 1))
	fi
done
if [ $missing -ne 0 ]
then	[ $missing -eq 1 ] && string=" is" || string="s are"
	printf 'Exiting because %d file%s missing.\n' $missing "$string" >&2
	exit 1
fi

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Identify the Parameter variable file

Hi I am trying to understand a shell scipt file ( .ksh file ) . In the shell script we are referring a variable . Example : SessLogs=$STAFF_MSTR_DIR/staff_dtls There are no references in the shell script from where the variable "$STAFF_MSTR_DIR" is being read from . Could anyone... (2 Replies)
Discussion started by: Sudheer Maddula
2 Replies

2. Shell Programming and Scripting

Systemd errors of missing file “No such file or directory” inspite of file being present

The contents of my service file srvtemplate-data-i4-s1.conf is Description=test service for users After=network.target local-fs.target Type=forking RemainAfterExit=no PIDFile=/data/i4/srvt.pid LimitCORE=infinity EnvironmentFile=%I . . . WantedBy=multi-user.target (0 Replies)
Discussion started by: rupeshkp728
0 Replies

3. Shell Programming and Scripting

Identify file name pattern in different file names

Hi, need help in recognizing the pattern of file name. For e.g. file name 1: <static file prefix>.<store cd>_<YYYYMMDD>.<ext> file name 2: <static file prefix>_<YYYYMMDD>.<ext> I want to know that there are 3 dots "." in the file name1 and one dot "." in file name2. How can I know... (3 Replies)
Discussion started by: dips_ag
3 Replies

4. Shell Programming and Scripting

Compare large file and identify difference in separate file

I have a very large system generated file containing around 500K rows size 100MB like following HOME|ALICE STREET|3||NEW LISTING HOME|NEWPORT STREET|1||NEW LISTING HOME|KING STREET|5||NEW LISTING HOME|WINSOME AVENUE|4||MODIFICATION CAR|TOYOTA|4||NEW LISTING CAR|FORD|4||NEW... (9 Replies)
Discussion started by: jubaier
9 Replies

5. Shell Programming and Scripting

Identify missing VGs

lsvg command returns rootvg mqB01vg heartbeatvg mqA01vg oracleAvg2 cevgA01 orastgevg ..... lsvg -o command returns rootvg mqB01vg heartbeatvg mqA01vg oracleAvg2 ...... (3 Replies)
Discussion started by: Daniel Gate
3 Replies

6. Shell Programming and Scripting

Identify age of the file.

Hi all, I'm using SunOS. need to find age of the file in terms of seconds. The file name with its path will be given to the script as input. Any kinda help will be appreciated. Thanks in advance (7 Replies)
Discussion started by: bankimmehta
7 Replies

7. UNIX for Dummies Questions & Answers

Identify a file for encryption or decryption

Dear Members, Can we find if a particular file is encrypted or decrypted. I need a command by which i should be able to identify if a file is encrypted or decrypted. How can we do this? (1 Reply)
Discussion started by: sandeep_1105
1 Replies

8. UNIX for Dummies Questions & Answers

Identify File with ControlM Characters

Dear Members, I have a file which contains ControlM characters in it. I need a command by the means of which i should be able to identify if a file has controlM characters. How can this be achieved. Thanks Sandeep (4 Replies)
Discussion started by: sandeep_1105
4 Replies

9. Shell Programming and Scripting

how to identify the mode of the file in unix

hi, I have a requirement in that i need to process a input file The problem is, the input file sometimes it is coming in dos mode and some times it is coming in unix mode The script which i have written will process the file only if it is in unix mode and it is not processing if the file is in... (7 Replies)
Discussion started by: trichyselva
7 Replies

10. Shell Programming and Scripting

Identify type of file

hi all, i have the next question: how can i identify the type of a file? . I'm working in Unix (Solaris 5.7) and i would like identify if a file is or not is a "flat file". I need have a program what separates the flat file in a directory, and the excel file in another directory. I must get... (1 Reply)
Discussion started by: DebianJ
1 Replies
Login or Register to Ask a Question