Checking the format of inputs in a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Checking the format of inputs in a file
# 1  
Old 05-05-2006
Checking the format of inputs in a file

Hi,

I have a script that takes the contents of another file as inputs. Its assumed that there are 3 values in the input file that are seperated by '|'. I have to check in my script, whether the filed seperator used in the input file is '|' or not. If its not a '|' I have to print a error message. How can I do it.

Thanks in advnace.
# 2  
Old 05-05-2006
You could use awk.

Code:
awk -F "\|" '{ if (NF != 3) printf ("Not good\n");  }' input.file

If you want to do it within the script, you can take this approach

Code:
#! /bin/ksh

while read line
do
        last="${line##*\|}"

        if [ "$last" = "$line" ] ; then
                echo "Not good"
                break;
        fi ;
done < input.file

Unlike the awk, the script will not go ahead if it encounters a non-conforming input.
# 3  
Old 05-05-2006
Hi,
The script works fine when there are no "|" symbols in the file. But even if one of them is present then it still says that the format is ok, which is not the exact way.
ie....
I have inputs like this.

Mani|123 prof

This kind of input also is accepted by the script. But it should not accept. It should accept only if all the three field are seperated by "|".

Thanks in advance
# 4  
Old 05-05-2006
Code:
echo "$record_read" | egrep -q '^.*([|]).*([|]).*$'
if [ $? -eq 0 ] ; then
  echo "good"
else
  echo "bad"
fi


Last edited by jim mcnamara; 05-05-2006 at 07:31 AM..
# 5  
Old 05-05-2006
Quote:
Originally Posted by sendhilmani123
Hi,
The script works fine when there are no "|" symbols in the file. But even if one of them is present then it still says that the format is ok, which is not the exact way.
ie....
I have inputs like this.

Mani|123 prof

This kind of input also is accepted by the script. But it should not accept. It should accept only if all the three field are seperated by "|".

Thanks in advance
Does the awk statement work well ?
# 6  
Old 05-05-2006
Hi,
The script is working fine for the following inputs:

Mani|123|proff
Mani 123|proff
Mani|123 proff

But when I just give '|||' in the input file it still tells me that its 'good'. Even when I give the input as Mani 123 proff|||, it tells that its good.

Thanks in advance
# 7  
Old 05-05-2006
Okay.

Why don't you explain EXACTLY what is allowed/not allowed. We are trying to hit a moving target.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Problem in sending inputs to format command using expect

Hi , I am not able figure out how to use expect tool to send input to this prompt of format Searching for disks...done selecting c0t3d0 FORMAT MENU: disk - select a disk type - select (define) a disk type partition - select (define) a partition... (3 Replies)
Discussion started by: chidori
3 Replies

2. Shell Programming and Scripting

Storing user inputs into a file

Hi, Am trying to store the user inputs into a file, but the below code will store only the first line of the values. I need to store all the user input values which may contain one or more lines. Thanks in advance. echo "please enter file names"; read name; echo $name>/tmp/test (11 Replies)
Discussion started by: rogerben
11 Replies

3. Shell Programming and Scripting

Take 10 user inputs and output to file?

I want a script that will prompt a user to enter 10 numbers and out put them into a file. This what I have so far, but isn't working. I'm guessing it's something easy I'm not seeing. Thanks for any help. #!/usr/bin/ksh echo "Enter 10 numbers" for i in 1 2 3 4 5 6 7 8 9 10 do read .... ... (8 Replies)
Discussion started by: AxlVanDamme
8 Replies

4. Shell Programming and Scripting

How to write shell script for input file name format checking?

Hello, I had written a shell script that accepts input file as cmd line argument and process this file. if ; then if ; then . $1 LOGFILE="$LOG_FILE/MIG_BIOS.log"; get_input_file else ERROR_CODE=MSCRM0005_003 error "$ERROR_CODE : Input file $1 is not available"; exit... (3 Replies)
Discussion started by: Poonamol
3 Replies

5. Shell Programming and Scripting

How to read inputs from a file

Hello; Please I need to read inputs from a file change 1 or 2 things the output to another file. (1 Reply)
Discussion started by: jimoney
1 Replies

6. Shell Programming and Scripting

Regarding checking the file format

Hi, This with reference to my earlier thread. I have file called input that has 2 values. Now I have to check whether the 2 fileds are seperated by a "|" or not. I am not able to do this with the following script. while read line do first=`echo $line | cut -f1 -d'|'` ... (8 Replies)
Discussion started by: sendhilmani123
8 Replies

7. Shell Programming and Scripting

Validating inputs from a file

Hi, I have a file called inputs. Now that file has the values like this: 1 2 3 Now In my script called 'get.sh' I do this : exec < inputs read a b c d Now I know that there will not be any value in d. How can I check it. I need the exact condition for checking whether the variable has... (1 Reply)
Discussion started by: sendhilmani123
1 Replies

8. Shell Programming and Scripting

redirecting serial inputs to a file?

i have an external device sending serial messages i want to connect this device to a serial port in my sun blade box and record those messages to a file, how can i read the serial port and write it to file? Thanks (4 Replies)
Discussion started by: guilartec
4 Replies

9. Shell Programming and Scripting

Inputs from a file

Hi, I have a shell script that has to taken inputs from a file say "Inputs". Now I take 2 inputs at a time. Suppose the Inputs file contains numbers like 2 3 4 5 Now I have a written a script for adding 2 numbers. When I run the script for first time 2 and 3 must be the inputs. When i run the... (4 Replies)
Discussion started by: sendhil
4 Replies

10. Shell Programming and Scripting

Reading in two inputs from a file

Hi all, I've been assigned the task of modifying a script which reads in names of tables from a list file, exports a 30 days worth of data from these tables, then deletes the table. The list file will now contain a table name and a number next to it indicating how many days to archive. I need... (1 Reply)
Discussion started by: MadHatter
1 Replies
Login or Register to Ask a Question