Sponsored Content
Top Forums Shell Programming and Scripting UNIX Shell Scripting (Solaris) for File Checking Post 302974759 by Don Cragun on Friday 3rd of June 2016 01:26:49 AM
Old 06-03-2016
Thank you for the much clearer specification. But, there are still a few things missing in your specification:
  1. You didn't mention the pathname of the log file you want to create. (This script uses /files05/home/chgtprd/logfile.txt.) Note that the directory in which the log file is located MUST NOT be the directory named by the variable dir!
  2. You didn't mention whether this script should recreate the log file each time it runs, or would just add information to an existing log file. (This script recreates the log file each time it runs. To append instead of recreate, change both occurrences of > "$log" to >> "$log".)
  3. This code assumes that you only want to look at regular files in the named directory (not at all regular files in the file hierarch rooted in the named directory).
With the assumptions stated above, the following script should do what you have requested on a Solaris system (although I did take a few liberties with the messages written to your log file). I assume that you will be able to adjust the text in the printf statements if you don't like the text I used.:
Code:
#!/bin/ksh
bad_found=0
dir='/files05/home/chgtprd/MXS/inb/CHTR/FTR/9/'
log='/files05/home/chgtprd/logfile.txt'

cd "$dir" && for file in *
do	if [ -f "$file" ] && ! /usr/xpg4/bin/grep -q FTRORD "$file"
	then	printf 'Invalid file "%s" in "%s"\n' "$file" "$dir"
		bad_found=1
	fi
done > "$log"
if [ $bad_found -eq 0 ]
then	printf 'There are no invalid files in "%s"\n' "$dir" > "$log"
fi


Last edited by Don Cragun; 06-07-2016 at 12:49 AM.. Reason: Fix copy&paste error: Add fi to end of script.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

difference between AIX shell scripting and Unix shell scripting.

please give the difference between AIX shell scripting and Unix shell scripting. (2 Replies)
Discussion started by: haroonec
2 Replies

2. AIX

Unix shell scripting to find latest file having timestamp embedded...

Hi guys, I have a directory in UNIX having files with the below format, i need to pickup the latest file having recent timestamp embedded on it, then need to rename it to a standard file name. Below is the file format: filename_yyyymmdd.csv, i need to pick the latest and move it with the... (2 Replies)
Discussion started by: kaushik25
2 Replies

3. Solaris

How to check the file existence using shell scripting in Solaris-10

Hi, I have a script which will check the fiel existence, the lines are as below if !(test -d ./data) then mkdir data fi In the first line error occurs as below generatelicense.sh: syntax error at line 2: `!' unexpected Where as this script works fine in linux OS. How to solve... (2 Replies)
Discussion started by: krevathi1912
2 Replies

4. UNIX for Dummies Questions & Answers

Unix Shell Scripting -- update employees not present in input file

ALL, My shell script takes a employee file as input. I have to identify the list of employees not in the input file and update their status in the database. Approach I followed: by traversing through the input file add all the emplid's to a variable. update the status of employees not in... (2 Replies)
Discussion started by: sailussr
2 Replies

5. Shell Programming and Scripting

C Shell Scripting - HELP! - checking total args in a script

Hi, I 'm trying to learn the scripting language and am trying to create a script to open a C Program, allow the user to edit it, and then run it. What I have works but only when you enter the name to be compiled and the c program, but what if you only entered the 1 argument (cprogram.c) ? but I 'm... (3 Replies)
Discussion started by: patel_ankz
3 Replies

6. Shell Programming and Scripting

generate tabular output from an input text file in unix shell scripting

Hi, I have the output (as below) which i want it to be in a table. For e.g. space utilization in PSE on path /logs is 0% space utilization in PSE on path /logs/tuxedo/tuxlsp is 16% space utilization in PSE on path /ldvarlsp/lsp/log is 37% space utilization in PSE on path /home is 6%... (7 Replies)
Discussion started by: pkbond
7 Replies

7. Shell Programming and Scripting

Request for file read option in Unix shell scripting

Hi Friends, I would like to read all the record from one txt file to other file txt For example I have two txt file a.txt and b.txt. I need to read a.txt record by record and I need add the system date @ end of each record before moving it to b.txt. Could you please share the coding for... (4 Replies)
Discussion started by: vinoth124
4 Replies

8. Shell Programming and Scripting

How to add trailer record at the end of the flat file in the unix ksh shell scripting?

Hi, How to add trailer record at the end of the flat file in the unix ksh shell scripting can you please let me know the procedure Regards Srikanth (3 Replies)
Discussion started by: srikanth_sagi
3 Replies

9. Shell Programming and Scripting

Read csv file, convert the data and make one text file in UNIX shell scripting

I have input data looks like this which is a part of a csv file 7,1265,76548,"0102:04" 8,1266,76545,"0112:04" I need to make the output data should look like this and the output data will be part of text file: 7|1265000 |7654899 |A| 8|12660000 |76545999 |B| The logic behind the... (6 Replies)
Discussion started by: RJG
6 Replies

10. Solaris

Solaris Shell Scripting

Hi, Want to know, is there any way to restrict a Solaris user to Single Login. Means a particular user can login once and if he or someone else tries to login with his ID then a message displayed "user already logged in" and denies his attempt. Regard, Jeet (1 Reply)
Discussion started by: CountJeet
1 Replies
rdeliver(1)						      General Commands Manual						       rdeliver(1)

NAME
rdeliver - Ruby mail filter script SYNOPSYS
rdeliver <options> [script] DESCRIPTION
This script serves as an example of how you can use the RFilter::DeliveryAgent class to perform mail delivery. You can also use this script as a fully functioning mail filter. This script is a basic mail local delivery agent (DeliveryAgent) that can be used in place of procmail, maildrop, etc. in a user's .forward or .qmail file. The user supplies a delivery script that is written in Ruby, which avoids the limitations of the crippled mini-languages so often used in other DeliveryAgent programs. USAGE
rdeliver is invoked from the command line using: % rdeliver <options> [script] The script argument is optional. If omitted the script will look for a file called .rdeliver in the home directory. Options are: --load-path directory Prepend the given directory to ruby's load path. --log filename Log to the given filename. If no log is specified, no logging occurs. --home directory Specify the home directory. rdeliver will change to this directory before reading and writing any files. The home directory defaults to the value of the HOME or LOGDIR environment variable. DELIVERY SCRIPT
The delivery script runs in the context of a class called Deliver (in contrast, most ruby scripts run in the context of the Object class). So any methods added with def will be added to the Deliver class. A minimal delivery script would be: def main agent.save('inbox') end This code defines a Deliver#main method that saves the mail into an mbox style mailbox. The only API the Deliver script has is the #agent method. This retrieves the RFilter::DeliveryAgent object associated with the current message. Using the API of the RFilter::DeliveryAgent object, you can access and modify the message body and headers, defer or reject the message delivery, and deliver into various mailbox formats. See also RFilter::DeliveryAgent and Deliver. INSTALLATION
Assuming you have the RubyMail mail classes installed, you typically have to put something like this in your .forward file: |"/usr/bin/rdeliver --log /home/you/.rlog" This will call rdeliver for each new message you get, and log to /home/you/.rlog. CATASTROPHIC ERRORS
The rdeliver script is very careful with errors. If there is any problem, it logs the error to the log file you specify. But if you do not specify a log file, or the error occurs before the log file is opened, a record of the error is placed in a file called CATASTROPH- IC_DELIVERY_FAILURE in the home directory. If that fails, the error information is printed to the standard output in the hopes that it will be part of a bounce message. In all cases, the exit code 75 is returned, which tells the MTA to re-try the delivery again. AUTHOR
rdeliver and RFilter support classes were written by Matt Armstrong <matt@lickey.com>. This document was originally an RD format document of rdeliver script. This manual page was converted from it for Debian GNU/Linux system. September 2003 rdeliver(1)
All times are GMT -4. The time now is 05:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy