Visit Our UNIX and Linux User Community


UNIX Shell Scripting (Solaris) for File Checking


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting UNIX Shell Scripting (Solaris) for File Checking
# 22  
Old 06-02-2016
hi don cragun,

i tried using your code but it resutls to

Code:
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
File "*.edi" does not contain the string "davehandsome"

may be its because of the limitations of my unix..

thank you and sorry but can you check this script of mine,

Last edited by daveaztig14; 06-08-2016 at 07:37 AM..
# 23  
Old 06-02-2016
Hello daveaztig14,

Could you please try following and let me know if this helps.
Code:
find . -type f -exec grep -H -c 'FTRORD' {} \+ | grep 0$ | cut -d':' -f1

I have checked above in BASH environment.

Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
# 24  
Old 06-02-2016
HI R. Sing

Last edited by daveaztig14; 06-08-2016 at 07:38 AM..
# 25  
Old 06-02-2016
Quote:
Originally Posted by daveaztig14
hi don cragun,

i tried using your code but it resutls to

Code:
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
File "*.edi" does not contain the string "davehandsome"

may be its because of the limitations of my unix..

thank you and sorry but can you check this script of mine,

Code:
#!/bin/sh

cd $EDI_ROOT/MXS/inb/CHTR/FTR/9

grep -v FTRORD *

it works perfectly it goes to the directory i want and the output is the files who doesn't have the word "FTRORD" and the proof there context, please see below,

Code:
VZW997.03.26.2010:06:10:12.000:LR.hdr|VZW|997|||
VZW997.03.26.2010:06:10:12.000:LR.id||CHVZWJGC20|01||||||
VZW997.03.26.2010:06:10:12.000:LR.notify||LNIEBatch|A||
VZW997.03.26.2010:06:10:12.000:--END--
VZW997.03.26.2010:06:33:46.007:LR.hdr|VZW|997|||
VZW997.03.26.2010:06:33:46.007:LR.id||CHVZWJGC20|01||||||
VZW997.03.26.2010:06:33:46.007:LR.notify||LNIEBatch|A||
VZW997.03.26.2010:06:33:46.007:--END--
VZW997.03.26.2010:06:37:47.004:LR.hdr|VZW|997|||
VZW997.03.26.2010:06:37:47.004:LR.id||CHFTRJGC21|01||||||
VZW997.03.26.2010:06:37:47.004:LR.notify||LNIEBatch|A||
VZW997.03.26.2010:06:37:47.004:--END--
VZW997.03.26.2010:06:54:36.003:LR.hdr|VZW|997|||
VZW997.03.26.2010:06:54:36.003:LR.id||CHFTRJGC22|01||||||
VZW997.03.26.2010:06:54:36.003:LR.notify||LNIEBatch|A||
VZW997.03.26.2010:06:54:36.003:--END--

but can you help me so that the output (resutls) will only display its filename without its context?
for exapmple.. it will only result to..

Code:
VZW997.03.26.2010:06:10:12.000

thank you
What you have shown us is that there are four lines in each of the files:
Code:
VZW997.03.26.2010:06:10:12.000
VZW997.03.26.2010:06:33:46.007
VZW997.03.26.2010:06:37:47.004
VZW997.03.26.2010:06:54:36.003

that do not contain the string FTRORD. There is no indication that there is not another line in one or more of these files does contain that string.

Try using my script again, changing grep to /usr/xpg4/bin/grep.
This User Gave Thanks to Don Cragun For This Post:
# 26  
Old 06-02-2016
hi don,

Last edited by daveaztig14; 06-08-2016 at 07:38 AM..
# 27  
Old 06-02-2016
Don, grep -q ... is not portable, and if ! does not work in a Bourne shell.
Instead one needs grep ... >/dev/null,
and one of the following workarounds
Code:
grep ...
if [ $? -ne 0 ]
then
  echo "not matched"
fi

or
Code:
if grep ...
then
  :
else
  echo "not matched"
fi

or
Code:
grep ... || {
  echo "not matched"
}

The following is a modification of my post #7, and greps the words in the file data.
Code:
basedir=/home
log=$basedir/dummyevents.log

for word in banana apple orange
do
  dir=$basedir/$word
  badfile=0
  
  for fname in $dir/*
  do
    if [ -f "$fname" ]
    then
      grep -w "$word" "$fname" >/dev/null
      if [ $? -ne 0 ]
      then
        echo "No '$word' in '$fname'"
        # We redirect the standard output of the whole loop
        badfile=1
      end
    fi
  done >> $log
  
  if [ $badfile -eq 1 ]
  then
    echo "Invalid file in $dir, see $log"
  fi
done

This User Gave Thanks to MadeInGermany For This Post:
# 28  
Old 06-02-2016
Quote:
Originally Posted by daveaztig14
thank you and sorry but can you check this script of mine,
Code:
#!/bin/sh
..

You stated twice you were using ksh but the sample script posted here is using the legacy bourne shell /bin/sh which you should never use.

You'd rather start your scripts with one of:

Code:
#!/bin/ksh

or
Code:
#!/usr/xpg4/bin/sh

This User Gave Thanks to jlliagre For This Post:

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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

Featured Tech Videos