Matching only the strings I provide - sed - SOLVED
Hello..
I am currently learning sed and have found myself in some trouble..
I wrote this command:
and some of the output i get is :
As you can see, at the very end, it does not end with stockholm/paris/tokyo, because it still matches those extra letters because of my patter, now, how would I change my pattern to avoid these troubles ?
I tried (stockholm|tokyo|paris) but then I dont get the last city, stockholmpi for example (it should be stockholm only).
EDIT: Here is some of the data I use:
EDIT After RudiC's post:
Okay so the logic behind this pattern is,
1. It starts with a '->' or a '<-' followed by a city, example; ->tokyo.
2. After the city comes another arrow followed by another city, example; ->tokyo->paris.
3. Then again, an arrow, followed by a city, example; ->tokyo->paris<-tokyo.
4. Then some random texts come between, if you look at the last line in the data ive posted, you can see that after " ->tokyo->paris<-tokyo" comes "Jan" which is random text, we dont want this.
5. Then we meet our pattern again, same pattern as the previous.
This is the ideal result: ->tokyo->paris<-tokyo->paris<-stockholm->tokyo
Which I do get on this specific line, but on some other lines I get output like this:
And we see that the third city has two extra letters (pi) and the last city, has two extra letters (pi), that is because in my pattern i write :
which in turn matches 'p' and 'i' from paris.
Now how would I force sed to choose between the exact strings I provided, which is stockholm,paris and tokyo ?
EDIT: Solved it by using parantheses. Here is the solution:
Hello all, I can get close to what I am looking for but cannot seem to hit it exactly and was wondering if I could get your help.
I have the following sample from textfile with many thousands of lines: File 1
PS001,001 HLK
PS002,004 L<G
PS004,002 XNN
PS004,006 BVX
PS004,006 ZBX=... (7 Replies)
Hi ,
I am writing a shell script to check pvsizes in linux box.
# for i in `cat vgs1`
> do
> echo "########### $i ###########"
> pvs|grep -i $i|awk '{print $2,$1,$5}'>pvs_$i
> pvs|grep -i $i|awk '{print $1}'|while read a
> do
> fdisk -l $a|head -2|tail -1|awk '{print $2,$3}'>pvs_$i1
>... (3 Replies)
Hello All Unix Users,
I am still new to Unix, however I am eager to learn it..
I have 2 files, some lines have some matching substrings, I would like to concatenate these lines into one lines, leaving other untouched. Here below is an example for that..
File 1 (fasta file):
>292183... (6 Replies)
I want to compare file 1 to file 2 and if a string from file 1 appears in file 2, then print the file 2 row, where the string appears, onto file3.
file 1 looks like this.
DOG_0004340 blah blah2 j 22424
DOG_3010311 blah blah3 o 24500
DOG_9949221 blah blah6 x 35035
file 2 looks like... (5 Replies)
I have a list of file names. However in some instances I might have a "-" at the beginning of the filename or an "=".
For example I might have something like this
set Lst = "file1 file2 file3 -file4 file5="
I want to pick up the ones having "-" at the beginning or "=" and store them in... (22 Replies)
I have a DNA file like below and I am able to write a short program which finds/not an input motif, but I dont understand how I can include in the code to report which position the motif was found. Example I want to find the first or all "GAT" motifs and want the program to report which position... (12 Replies)
In C programming how do i check if a char is equal to a vowel , like a e i o or u, small or big case.
in my function i have the parameter like *word, and i am using word in a for loop, to check if its equal. i use tolower(word)=='a' || .....
but for some reason it only matches on lower case and... (1 Reply)
Hi,
I have got two variables holding strings, if i echo them, they print the same value but if i compare the condition fails?? can somebody suggest something?? I have checked the word count too, they are also same.
Thanks,
Atul (4 Replies)
please send the logic or program to find the matching characters between two strings
for ex string1 :abc
string2 :adc
no .of matching characters is 2(a,c) (9 Replies)