Help with grep


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with grep
# 1  
Old 05-19-2016
Help with grep

I am new at shell programming and I could not find anything with google's help. I am trying to write a script that takes the input (read) and compares it
to a file with both a first and last name in it and then print it if it's there or echo a response if it is not. I've tried every which way and can only get to the first name to work. This is not homework I am 59 and just trying to teach myself something new. Any help? Thanks in advance. Oh yea I am working in Ubuntu server 16.04 server on VB.
# 2  
Old 05-19-2016
Code:
read INPUT
grep "$INPUT" filename || echo "$INPUT not found"

This User Gave Thanks to Corona688 For This Post:
# 3  
Old 05-19-2016
Thanks

I try it and see how it works. Thanks again
This User Gave Thanks to d12f6m For This Post:
# 4  
Old 05-26-2016
It didn't work.
let me explain further. I don't think I did a good job of it before.

I need to input first and last name ( they can be entered at the same time or not, compare it to a usernames file. Then output whether to proceed or not. The file has the names one per line. Again I am in ubuntu server 16.04
# 5  
Old 05-26-2016
Quote:
Originally Posted by d12f6m
It didn't work.
let me explain further. I don't think I did a good job of it before.
I need to input first and last name ( they can be entered at the same time or not, compare it to a usernames file. Then output whether to proceed or not. The file has the names one per line. Again I am in ubuntu server 16.04
Hello d12f6m,

I am still not quite sure about your requirement, could you please take following as a start and let me know how it goes then.
Let's say we have following Input_file(which has all the user names in it).
Code:
Milkha Singh
Narendra Modi
Barack Obama
Bill clinton
Mohandass K Gandhi

Then following is the script.
Code:
cat script.ksh
echo "Please enter first and last name of user to proceed further, in format of Jim(First_name) cary(Last_name)......."
read name
VALUE=`awk -vNAME="$name" '($0 == NAME){print 1}' Input_file`
if [[ $VALUE == 1 ]]
then
        echo "Put your all next further statements here...."
else
        echo "Name you have entered haven't matched anywhere in the names file list, please enter correct name..."
fi

Now when we run it as follows we will get:
Code:
#### First example when name entered by user exists in Input_file.
./script1.ksh
Please enter first and last name of user to proceed further, in format of Jim(First_name) cary(Last_name).......
Milkha Singh
Put your all next further statements here....
OR
#### Second example where name of user entered by user doesn't exist in Input_file.
./script1.ksh
Please enter first and last name of user to proceed further, in format of Jim(First_name) cary(Last_name).......
Rav Singh
Name you have entered haven't matched anywhere in the names file list, please enter correct name...

Thanks,
R. Singh
# 6  
Old 05-26-2016
Thanks R. Singh, I will try it
# 7  
Old 05-28-2016
Or something like this, all shell code:

Code:
status="not found"
echo "Please enter first and last name"
read name
while read line 
do
  if [ "$line" = "$name" ]; then
    status=found
    break
  fi
done < file
echo "$name is $status"

This User Gave Thanks to Scrutinizer For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Inconsistent `ps -eaf -o args | grep -i sfs_pcard_load_file.ksh | grep -v grep | wc -l`

i have this line of code that looks for the same file if it is currently running and returns the count. `ps -eaf -o args | grep -i sfs_pcard_load_file.ksh | grep -v grep | wc -l` basically it is assigned to a variable ISRUNNING=`ps -eaf -o args | grep -i sfs_pcard_load_file.ksh |... (6 Replies)
Discussion started by: wtolentino
6 Replies

2. UNIX for Dummies Questions & Answers

Piping grep into awk, read the next line using grep

Hi, I have a number of files containing the information below. """"" Fundallinfo 6.3950 14.9715 14.0482 """"" I would like to grep for Fundallinfo and use it to read the next line? I ideally would like to read the three numbers that follow in the next line and... (2 Replies)
Discussion started by: Paul Moghadam
2 Replies

3. UNIX for Dummies Questions & Answers

Bash - CLI - grep - Passing result to grep through pipe

Hello. I want to get all modules which are loaded and which name are exactly 2 characters long and not more than 2 characters and begin with "nv" lsmod | (e)grep '^nv???????????? I want to get all modules which are loaded and which name begin with "nv" and are 2 to 7 characters long ... (1 Reply)
Discussion started by: jcdole
1 Replies

4. Shell Programming and Scripting

AWK/GREP: grep only lines starting with integer

I have an input file 12.4 1.72849432773174e+01 -7.74784188610632e+01 12.5 9.59432114416327e-01 -7.87018212757537e+01 15.6 5.20139995965960e-01 -5.61612429666624e+01 29.3 3.76696387248366e+00 -7.42896194101892e+01 32.1 1.86899877018077e+01 -7.56508762501408e+01 35 6.98857157014640e+00... (2 Replies)
Discussion started by: chrisjorg
2 Replies

5. UNIX for Dummies Questions & Answers

Advanced grep'in... grep for data next to static element.

I have a directory I need to grep which consists of numbered sub directories. The sub directory names change daily. A file resides in this main directory that shows which sub directories are FULL backups or INCREMENTAL backups. My goal is to grep the directory for the word "full" and then... (2 Replies)
Discussion started by: SysAdm2
2 Replies

6. UNIX for Dummies Questions & Answers

Difference between grep, egrep & grep -i

Hi All, Please i need to know the difference between grep, egrep & grep -i when used to serach through a file. My platform is SunOS 5.9 & i'm using the korn shell. Regards, - divroro12 - (2 Replies)
Discussion started by: divroro12
2 Replies

7. Shell Programming and Scripting

grep for certain files using a file as input to grep and then move

Hi All, I need to grep few files which has words like the below in the file name , which i want to put it in a file and and grep for the files which contain these names and move it to a new directory , full file name -C20091210.1000-20091210.1100_SMGBSC3:1000... (2 Replies)
Discussion started by: anita07
2 Replies

8. UNIX for Dummies Questions & Answers

| help | unix | grep (GNU grep) 2.5.1 | advanced regex syntax

Hello, I'm working on unix with grep (GNU grep) 2.5.1. I'm going through some of the newer regex syntax using Regular Expression Reference - Advanced Syntax a guide. ls -aLl /bin | grep "\(x\)" Which works, just highlights 'x' where ever, when ever. I'm trying to to get (?:) to work but... (4 Replies)
Discussion started by: MykC
4 Replies

9. UNIX for Dummies Questions & Answers

| help | unix | grep - Can I use grep to return a string with exactly n matches?

Hello, I looking to use grep to return a string with exactly n matches. I'm building off this: ls -aLl /bin | grep '^.\{9\}x' | tr -s ' ' -rwxr-xr-x 1 root root 632816 Nov 25 2008 vi -rwxr-xr-x 1 root root 632816 Nov 25 2008 view -rwxr-xr-x 1 root root 16008 May 25 2008... (7 Replies)
Discussion started by: MykC
7 Replies

10. Shell Programming and Scripting

MEM=`ps v $PPID| grep -i db2 | grep -v grep| awk '{ if ( $7 ~ " " ) { print 0 } else

Hi Guys, I need to set the value of $7 to zero in case $7 is NULL. I've tried the below command but doesn't work. Any ideas. thanks guys. MEM=`ps v $PPID| grep -i db2 | grep -v grep| awk '{ if ( $7 ~ " " ) { print 0 } else { print $7}}' ` Harby. (4 Replies)
Discussion started by: hariza
4 Replies
Login or Register to Ask a Question