sed solution for condition checking


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed solution for condition checking
# 1  
Old 07-21-2009
sed solution for condition checking

Hi all ,

Recently i came across this in FAQ's.

I have a file

Code:
cat rem.txt
sreedhar 20
sreedhar 10
sreedhar 15
sreedhar 18
sreedhar 16
sreedhar 30

I have to replace sreedhar with "Sridhar" if the second parameter is > 18.

I need to do it in "sed" only. I am wondering how this can be done.
# 2  
Old 07-21-2009
If you have gsed you can use egrep like syntax for matching multiple strings, ie.
Code:
(pattern1|pattern2|...)

If you want to stay compatible you can use:
Code:
sed -e '/ 19$/ {s/sreedhar/Sridhar/}' -e '/ [2-9][0-9]\+$/ {s/sreedhar/Sridhar/}' infile
Sridhar 20
sreedhar 10
sreedhar 15
sreedhar 18
sreedhar 16
Sridhar 30

In awk this would have been much easier and also with real arithmetics.
# 3  
Old 07-21-2009
Thanks zaxxon for the solution.

But it's not working as i am getting the error

Code:
Function / 19$/ { s/sreedhar/Sridhar/ } cannot be parsed.

Yes , i worked with awk and it's easy to do it in awk.

But sed's solution is seems to be cumbersome as we are not doing much like arithmetic operations.

Last edited by panyam; 07-21-2009 at 10:13 AM..
# 4  
Old 07-21-2009
With a little modification to above script, you can do this...
Code:
sed -n '
/ 19$/ {
   s/sreedhar/Sridhar/
   p
   }
/ [2-9][0-9]$/ {
   s/sreedhar/Sridhar/
   p
   }' file



---------- Post updated at 07:02 PM ---------- Previous update was at 07:00 PM ----------

If the number is negative or greater than 99... We need to tweak a bit more.
# 5  
Old 07-21-2009
Thanks Rakesh ...

I tried in the same way ,but .. As i was messing "-e" with "-n" there were some errors i was getting.

sed always makes me "sad" :|
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Condition checking issue while if

hi, i am using a simple condition end_ct=`sqlplus -s $ORACLE_USER/$ORACLE_PASS@$ORACLE_SID << EOF select description from bravo_statistics where trunc(time_stamp)=trunc(sysdate)-1 and description='END CAT'; EOF` echo $end_ct; echo... (30 Replies)
Discussion started by: lovelysethii
30 Replies

2. Shell Programming and Scripting

Checking for null condition in a UNIX variable

i have this code for i in `cat sql_output.txt` do -- some script commands done sql_output.txt has 1 column with employee_ids If the sql_output.txt is null then the do loop should not execute. How can i implement this. for i in `cat sql_output.txt` If i is null or empty then ... (5 Replies)
Discussion started by: rafa_fed2
5 Replies

3. Shell Programming and Scripting

Condition checking in UNIX

i have a script where i have to find the age of a file, if then echo "dnb file is present for the monthly load" >> $RUNLOG dnb="1" else echo "dnb file has not arrived yet" > $ERRLOG dnb="0" fi i know the file is available so... (3 Replies)
Discussion started by: lovelysethii
3 Replies

4. Shell Programming and Scripting

sed to check two condition need solution

Hi, I am having a file in below format server-1 Win2008:server-1-1700,1774,290104720,290104987:server-1 server-2 AIX:server-2-:server-2 server-2 I want the output like this Win2008:server-1-1700,1774,290104720,290104987:standalon-server AIX:server-2-:VIO-Sever I used the... (7 Replies)
Discussion started by: ranjancom2000
7 Replies

5. Shell Programming and Scripting

Checking file existence along with condition

Hi am trying to write a script which find the existence of a file from a find command output and perform a task if the file exists. Help me out with the correct syntax . Am trying with the following one but unable to get the output. if then <some tasks> else echo "file not exists" fi (5 Replies)
Discussion started by: rogerben
5 Replies

6. Shell Programming and Scripting

Multiple condition checking in bash

Hi All, I am trying to check if two variables have value assigned to it. i am doing it like if ] then echo "Please specify either single hostname or host file for the report" usage exit fi But its not working for it.Even i specify values for both variables it dont go... (6 Replies)
Discussion started by: kailash19
6 Replies

7. Shell Programming and Scripting

Unzip file By checking condition.

Hi.. Gurus I Have a list of .zip files in a directory. I want to check whether each .zip file having some particular file or not (say .jsp) if it's having .Jsp file then create a directory as per the .zip file and extract the content to that directory except the .jsp file, If .zip not having... (3 Replies)
Discussion started by: posix
3 Replies

8. UNIX for Advanced & Expert Users

Need solution concatenate and display 2 lines as 1 with a condition for 2 line ?

I have 2 pattern of lines (SQL query and Time taken)in a log i need to capture all SQL queries with time taken >20 sec and need to display as one line. 2 lines from log: 2007-10-23 11:39:17,061 DEBUG - SQL Query : SELECT A.GROUP_CD , C.FN_CD FROM UP_GROUP A , PRD_GROUP_TO_FN B , PRD_FN... (1 Reply)
Discussion started by: vithala
1 Replies

9. Shell Programming and Scripting

Checking condition inside the loop

Hi all, I have one clarification i am using the loop which will process for each record .suppose there is f ailure in the first record it need to send mail and process the next .my code: defcount=`cat <filename>|wc -l` while ] do if <some condiotion> then echo "mail" fi done so... (1 Reply)
Discussion started by: ithirak17
1 Replies

10. Shell Programming and Scripting

Condition checking

Dear all That's another problem from me, i wanna do a lot of if statement checking for correct input by user, will be prompt input again if the input not meet the requirement defined by If or while statement... like this one .... while I know it's less effiency write the program... (14 Replies)
Discussion started by: trynew
14 Replies
Login or Register to Ask a Question