Sponsored Content
Top Forums Shell Programming and Scripting Parsing through list of files Post 302948322 by Don Cragun on Sunday 28th of June 2015 10:38:40 PM
Old 06-28-2015
Quote:
Originally Posted by abhilashnair
... ... ...
Currently my script has a logic where it aborts with exit code 1 if it finds more than one file matching the pattern

Code:
  #!/bin/ksh
#set -x

... ... ...
Code:
if [ -n  "${12}" ]; then
        echo
else
        echo "Incorrect number of Arguments specified"
        exit 1
fi

... ... ...
Code:
# SELECT CONCAT(CONCAT('"',FILE_LOCATION),CONCAT(CONTROL_FILE_PATTERN,'"')) FROM FILE_MASTER WHERE SOURCE_SYSTEM ='FIN' and LAUNCH_SEQUENCE ='SRC_FT# P_011_MSeq';
#
# Resulting in a query like this
# "/opt/ibm/working/ACE_ID_4_0_D2/data/SRC_FTP_011_???????????????????.ctl"
# "/opt/ibm/working/ACE_ID_4_0_D2/data/SRC_FTP_022_???????????????????.ctl"
#
# The quotes are removed from the values later in the script

Code:
                # Populate the Variables used in the insert statement into FILE_REGISTRATION
                filePerms=`echo ${controlFileName} | awk '{ FS=" " } { print $1 }'`
                fileOwner=`echo ${controlFileName} | awk '{ FS=" " } { print $3 }'`
                fileGroup=`echo ${controlFileName} | awk '{ FS=" " } { print $4 }'`
                fileSize=`echo ${controlFileName} | awk '{ FS=" " } { print $5 }'`
                #dateRecd=`echo ${controlFileName} | awk '{ FS=" " } { print $6 , $7 }'`

                                        filerecyear=`istat ${lfp} | grep 'Last modified' | cut -f4-9 -d' ' | cut -c17-20`
                                        abbr_month=`istat ${lfp} | grep 'Last modified' | cut -f3 -d' '`
                                        filerecdate=`istat ${lfp} | grep 'Last modified' | cut -f4-9 -d' ' | cut -c1-2 | sed "s/ /0/"`
                                        filerectime=`istat ${lfp} | grep 'Last modified' | cut -f4-9 -d' ' | cut -c4-11`
                                        filerecmonth=$(echo $abbr_month | sed \
                                                -e "s/Jan/01/" \
                                                        -e "s/Feb/02/" \
                                                        -e "s/Mar/03/" \
                                                        -e "s/Apr/04/" \
                                                        -e "s/May/05/" \
                                                        -e "s/Jun/06/" \
                                                        -e "s/Jul/07/" \
                                                        -e "s/Aug/08/" \
                                                        -e "s/Sep/09/" \
                                                        -e "s/Oct/10/" \
                                                        -e "s/Nov/11/" \
                                                        -e "s/Dec/12/")
                                        dateRecd=`echo "$filerecyear-$filerecmonth-$filerecdate $filerectime"`

... ... ...
The current script has above logic
You say: "Currently my script has a logic where it aborts with exit code 1 if it finds more than one file matching the pattern". Is this what you want your script to do? If not, what do you want this script to do?

Note that if the first two characters of your script are not #! (note the two leading spaces in your script), if you invoke this script by name (as opposed to invoking it by running ksh scriptname), this script will be run using your system's default shell; not necessarily /bin/ksh.

If you want to know if your script was called with 12 arguments, a much safer test would be:
Code:
if [ $# -ne 12 ]; then
        echo "Incorrect number of Arguments specified"
        exit 1
fi

Why do you explicitly complicate your SQL script to add double quotes to the output it produces when the only use for those quotes is to write more code in your script to strip out those quotes?

There are several sequences of similar pipelines of very similar commands repeatedly processing the same input to extract individual fields. It would be MUCH MUCH more efficient to run those commands once, printing the values desired for all of the fields to be set, and pipe it those results through read to set all of the variables at once.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parsing Files

I have two text files. I need to parse the data. It's names of file and I am using it to rename files. I have file1 containing the original file name and file2 containing the renamed name of the file. I need to parse them together in one file, which will be easy to use the mv command. This is... (4 Replies)
Discussion started by: almeidamik
4 Replies

2. Shell Programming and Scripting

Parsing file list in variable

Hello, somewhere in a shell script, i am storing the output of "ls" into a variable. My question is how can i parse this variable to get each filepath. I don't want to create a temporary file to write down all the filenames and then parse it.. is there a easy way out.. here is what... (3 Replies)
Discussion started by: prasbala
3 Replies

3. Shell Programming and Scripting

Parsing the list in korn shell

Hi I wanted to print/store just a specific element of the list . I have got the list as an output of grep command. here is code snap below : end_no=`egrep -ni '!return code: 0|return code other than 0' temp.log | cut -d':' -f1` this will return the line numbers in end_no. I just... (2 Replies)
Discussion started by: Shell@korn
2 Replies

4. Shell Programming and Scripting

Help with parsing mailbox folder list (identify similar folders)

List sample: user/xxx/Archives/2010 user/xxx/BLARG user/xxx/BlArG user/xxx/Burton user/xxx/DAY user/yyy/Trainees/Nutrition interns user/yyy/Trainees/Primary Care user/yyy/Trainees/Psychiatric NP interns user/yyy/Trainees/Psychiatric residents user/yyy/Trainees/Psychology... (4 Replies)
Discussion started by: spacegoose
4 Replies

5. Shell Programming and Scripting

parsing a list with awk

Hi folks, I have a list of XML files with entries like this one: <Item Name="Author" Type="String">Stark F</Item> <Item Name="Author" Type="String">Pfannstiel J</Item> <Item Name="Author" Type="String">Klaiber I</Item> <Item Name="Author" Type="String">Raabe T</Item> and what I would like... (1 Reply)
Discussion started by: euval
1 Replies

6. Shell Programming and Scripting

Parsing fields from class list files to use output with newusers command

Hello I am trying to develop a shell script that takes a text file such as this... E-mail@ Soc.Sec.No. *--------Name-----------* Class *School.Curriculum.Major.* Campus.Phone JCC2380 XXX-XX-XXXX CAREY, JULIE C JR-II BISS CPSC BS INFO TECH 412/779-9445 JAC1936 XXX-XX-XXXX... (7 Replies)
Discussion started by: crimputt
7 Replies

7. UNIX for Dummies Questions & Answers

Parsing a list of data

Hi I have a vcf file with 20000 lines, it looks like this- 23 122691 . C 1345.09 PASS 33 122961 . C 833.45 PASS 43 122970 . A 689.75 PASS 53 123009 . T 118.99 PASS 63 123033 . T 46.85 PASS 73 123042 . A 127.51 PASS 83 123060 . T 299.64 PASS 93 123081 . T 299.64 PASS... (3 Replies)
Discussion started by: baika
3 Replies

8. Shell Programming and Scripting

Process List Parsing?

Most of the code I've seen is been listing processes or capturing process ids, etc. But here's what I need to do. Preferably in Korn shell. 1. do a ps -ef |grep tns |grep -v grep in order to get a list or Oracle listeners that are running. 2. parse the line into components which... (7 Replies)
Discussion started by: MRMonteith
7 Replies

9. Shell Programming and Scripting

Parsing a list

Hello, I have a very long list of file (see input below). I only need the first "chunk" of the line before the space and omit the rest. Also, the > sign needs to be excluded. Can anyone help me please? Thank you so much! INPUT: >gi|24976465|gb|AL935113.1|AL935113 AL935113 Homo sapiens... (4 Replies)
Discussion started by: narachaid
4 Replies

10. Shell Programming and Scripting

Parsing through a list of items

Hi there, Here is my checklist of items, 4.1.1 Alerter 4.1.2 Client Services for Netware 4.1.3 Clipbook 4.1.4 Fax Service 4.1.5 File Replication 4.1.6 File Services for Macintosh 4.1.7 FTP Publishing Service 4.1.8 Help and Support 4.1.9 HTTP SSL 4.1.10 IIS Admin Service ... (1 Reply)
Discussion started by: alvinoo
1 Replies
All times are GMT -4. The time now is 06:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy