Scripting question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Scripting question
# 15  
Old 09-07-2015
Quote:
Originally Posted by arun888
Hi Don Sir,

Really Thanks for your input. From your code I have learned lo of new things.

I have noticed the input file and it looks for "ADUS" the convention is different. I am not sure how to change the code.

Code:
cat input.txt | tail -4
HTS40002.W1978.PROM
HTS40003.W1978.PROM
HTS40004.W1978.SDLMF.ADUS
HTS40003.W1978.PROM
HTS40004.W1978.SDLMF.ADUS

Hi arun888
If you do not mind to learn some more
You do not need to use the command cat there; the command tail can do the same by itself
Code:
tail -4 input.txt

By the way, there should be only four (4) lines in your output, instead of five (5). Smilie
This User Gave Thanks to Aia For This Post:
# 16  
Old 09-08-2015
Hi don,

Please find my exact requirement and answers for your questions.

Instead of showing us examples of lines from your input file, please describe in English the format of the filenames in that file:
User will be provided the file names in the input.txt file and the file name with "ADUS" need to be check whether it is exist in /retail/market/salil directory and the file name with "PROM" need to be checked whether it is present in /retail/market/loki directory.
Code:
tail -6 input.txt
INFOPRC.W1078.V018.ADUS
INFOPRC.W1078.V019.ADUS
INFOPRC.W1078.V118.ADJUS
INFOPRC.PJOMGPJ.HTC40004.W1078.PROM
INFOPRC.POMGPJ.HTS40001.W1078.PROM
INFOPRC.PJMGPJ.HTS40002.W1078.PROM


How many (period separated) fields can there be in your filenames?

5 field separtor in PROM file and 4 field separator in ADUS file.
Is the 2nd field (the string between the 1st and 2nd periods in the filename) always the week number?
In PROD and ADUS file it differs.
Is the last field always the field that contains ADUS or PROM (or none of the above)?
yes last file contains ADUS or PROM.
Can any field other than the last field be empty (i.e., in addition to HTS40007.W1978.
Last field might be empty sometimes.
could there be a filename like HTS40006.W1978..PROM )?
no i have wrongly provided.
# 17  
Old 09-08-2015
Assuming you still want to look for the file in a subdirectory of the directories you named for the ADUS files and the PROM files corresponding to the week number named in the file you're processing, perhaps something like:
Code:
#!/bin/ksh
#set -xv	# Uncomment this line to enable tracing.
ADUSf=adus.txt
ADUSp=/retail/market/salil
INPUTf="${1:-input.txt}"
NONEf=none.txt
PROMf=prom.txt
PROMp=/retail/market/loki
rm -f "$ADUSf" "$NONEf" "$PROMf"
OIFS="$IFS"
IFS=.
while read -r file
do	set -- $file
	if [ $# -eq 4 ] && [ "$4" = "ADUS" ]
	then	week="$2"
		path="$ADUSp/$week/$file"
		printf '%s\n' "$file" >> "$ADUSf"
	elif [ $# -eq 5 ] && [ "$5" = "PROM" ]
	then	week="$4"
		path="$PROMp/$week/$file"
		printf '%s\n' "$file" >> "$PROMf"
	else	printf '%s\n' "$file" >> "$NONEf"
		continue
	fi
	if [ -s "$path" ]
	then	printf '%s is available\n' "$file"
	else	printf '%s is not available\n' "$file"
	fi
done < "$INPUTf"
IFS="$OIFS"

would work. Note that if there isn't any other code you want to add to the end of this script, there is no need to save the old value of $IFS before setting it to . and no need to reset it to its prior value after the while loop completes.
This User Gave Thanks to Don Cragun For This Post:
# 18  
Old 09-10-2015
Hi Dan,

Thanks for your help
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Scripting question

Hi I am trying to write a small script which takes one by one file name from a txt file and do a 'll' and need to check if equal to the given month, otherwise it should return back the file name. Note: the file name contains parameter. My code is given below: It is not working .. giving error... (6 Replies)
Discussion started by: Ravindra Swan
6 Replies

2. Shell Programming and Scripting

Scripting question

Preview of command prompt f ---> to start ferret q----> to stop ferret asp@nex:~$ f NOAA/PMEL TMAP FERRET v6.82 Linux 2.6.18-308.8.2.el5PAE 32-bit - 08/03/12 3-Dec-12 16:44 yes? go my.jnl yes?column=4/skip=1/type=num,text ............filename.txt ---... (4 Replies)
Discussion started by: nex_asp
4 Replies

3. UNIX for Dummies Questions & Answers

Scripting question

folks; I have a script to remove any files that older than 14 days then move any files that younger than 7 days to another directory. but for some reason it doesn't move the files, when i do it manually it works but not through the script. i tried 2 different ways in writing the move part but it... (6 Replies)
Discussion started by: Katkota
6 Replies

4. Shell Programming and Scripting

Scripting question

Folks; I'm writing a shell script to extract some fields out of a log file & it will run periodically, how can i make it runs starting from where it left of. for example; if the script will do the extract every 2 days, let's say the first run will extract fields until July 25, 2007 @ 11:15:22... (1 Reply)
Discussion started by: moe2266
1 Replies

5. Solaris

Scripting question

I'm writing a small script that will run an executable program (sort of like TOP). To exit the executable, you have to enter control C (^c). I'm trying to use a redirect input file to send the ^c but I'm not having any luck. My short script looks like this - /mydirectory/abc.script < abc.in >... (1 Reply)
Discussion started by: gonzotonka
1 Replies

6. Shell Programming and Scripting

scripting question?

I am writing a backup script for AIX 5 and running into a problem where the output isn't being shown in the output log that is being created. Any ideas on how this would be corrected? I have included the script below. The only thing showing up in the file is listed below. I was hoping to capture... (2 Replies)
Discussion started by: justinburbridge
2 Replies

7. Shell Programming and Scripting

scripting question

I'm new to shell scripting and am having a problem trying to do something in C shell. I want to write a script that will input something instead of a user doing it. For example, using the command 'write' the user is supposed to type something to be sent to another user. I want a script to be able... (3 Replies)
Discussion started by: batmike
3 Replies

8. Shell Programming and Scripting

another scripting question

Hello I am working on cleaning up permissions on Oracle mountpoints and datafiles in unix. I am looking for a script or a scripting idea to 1st. 1. grep for owner oracle 2. ensure its a directory owned for oracle 3. chmod 750 on the oracle owned directory. 4. grep for oracle files, etc... (3 Replies)
Discussion started by: jigarlakhani
3 Replies

9. Shell Programming and Scripting

Scripting Question

This script searches for core files and if it finds one, it emails me to let me know.I DONT want it to email me if it doesn't find one but I can't figure out what I need to change or add. Any thoughts? Script below: /bin/find / -name core -type f -ls -exec file {} \;|/usr/bin/mailx -s... (1 Reply)
Discussion started by: damielle
1 Replies

10. UNIX for Dummies Questions & Answers

another scripting question

I am writing a script that will identify the oldest file in a directory. Here's the syntax: #!/bin/ksh cd directory chmod 777 * ls -r -1t > file1 sed -n -e "1P" < file1 > file2 So my problem is, now I have file2, which contains the name of the oldest file in the directory. How do I use,... (1 Reply)
Discussion started by: kristy
1 Replies
Login or Register to Ask a Question