sed is often a difficult choice for anything stretching across multiple lines. awk has a special setting, RS="", to read entire blocks of text separated by blank lines at once.
So, it is not doing an exact match which is what i was looking for.
First, you need to define what "exact match" means for you: actually it matched the exact phrase you were searching for - the line contained just something else besides of what you matched. What you are looking for is not a "exact match" but an "exact match with nothing else to follow", yes?
Quote:
Originally Posted by mohtashims
Can you tweak this command to get the desired results?
Yes, i can and so can you. Reading the above should make it obvious: anchor the regexp to the end of line.
sed is often a difficult choice for anything stretching across multiple lines. awk has a special setting, RS="", to read entire blocks of text separated by blank lines at once.
You can use sed to process more than one line with the command N to append the next line to the "pattern" space (usual area that can be searched or modified) and the 2nd line will be separated from the 1st by a newline "\n". If you use this you might need to put your sed commands in a separate file rather than the command line.
I have a file change.sed
more change.sed
I fire the below command inorder to replace "190.169.11.15" with "10.4.112.240" in proxy.logsed -f change.sed proxy.log proxy.log has the below entry
more proxy.log
The command replaces both 190.169.11.15 & 190.169.11.155 as below:
I am expecting... (17 Replies)
I just want to match "binutils1_test" only, and print the match line only
lyang001@lyang001-OptiPlex-9010:/tmp$ cat file
zbinutils1_test
bbinutils1_test
binutils1_test
w-binutils1_test
lyang001@lyang001-OptiPlex-9010:/tmp$ cat file |grep -w 'binutils1_test'
... (7 Replies)
Hi All,
I am breaking my head in trying to get a command that will exactly match my given string. I have searched net and found few of the options -
grep -F $string file
grep -x $string file
grep "^${string}$" file
awk '/"${string}"/ {print $0}' file
strangely nothing seems to... (3 Replies)
I would like replace all the rows in a file if a row has an exact match to number say 21 in a tab delimited file. I want to delete the row only if it has 21 any of the rows but it should not delecte the row that has 542178 or 563421.
I tried this
sed '/\<21\>/d' ./inputfile > output.txt
... (7 Replies)
QUESTION1:
How do you grep only an exact string. I am using Solaris10 and do not have any GNU products installed.
Contents of car.txt
CAR1_KEY0
CAR1_KEY1
CAR2_KEY0
CAR2_KEY1
CAR1_KEY10
CURRENT COMMAND LINE: WHERE VARIABLE CAR_NUMBER=1 AND KEY_NUMBER=1
grep... (1 Reply)
Hi All,
I'm writing unix script, it should find exact matching in search string. Looks simple but when i started i'm stuck to find the exact match character string.
The unix script reads the records from DB Table. The table will have values something likes these
Feed : A Feed File name :... (3 Replies)
I am trying to match a pattern exactly in a shell script. I have tried two methods
awk '/\<mpath${CURR_MP}\>/{print $1 $2}' multipath
perl -ne '/\bmpath${CURR_MP}\b/ and print' /var/tmp/multipath
Both these methods require that I use the escape character. I am guessing that is why... (8 Replies)
Dear Friends,
Anybody knows how to match exact lines only in multilinear.
Input file:
apple
orange
orange
apple
apple
orange
Desired output:
fruit
orange
apple
fruit
i used the command (1 Reply)
Hi
I have a string of the form XY_X1998.10.500.
I want to check in a script that the middle part is always 10. How to achieve this?
e.g the input can be XY_X1998.20.500 OR XY_X1998.50.500
OR XY_X1998.10.500.
I have to print Yes everytime the middle value is 10 and NO when the middle... (2 Replies)
Hi all,
Is anyone able to help with the following query?
I have an input file with several lines of words, e.g.
"hellolaylahello"
"hellohellohellolayla"
I want to search for the exact string "hello" in each line and display:
2 "hellolaylahello"
3 "hellohellohellolayla"
I... (11 Replies)