02-03-2009
Using sed to get a substring
Hi,
I have looked all over for this. I am attempting to get a the substring of a string using sed since it seemed the best solution for this.
For example my string is: "zzz foo to you and bar123 or foo"
I would like to extract the text between "and" and "or" (it could be anything, but that was my test string). "and" and "or" are unique in the string and the example is a single line, but it would be good to have it work on an arbitrary chunk of text.
To do so I thought I could do a match from the beginning of the string and just replace from the start to and with nothing. Then do the same from the reverse:
echo "zzz foo to you and bar123 or foo" | sed -e 's/[\*]and//' | more
(I was piping the text into sed vs a file just for easy of copying and pasting, but it will be the output of another process.)
Now, I tried various things that I thought would do a wildcard match "from the beginning until 'and'".
Suggestions as to where I went wrong? (Or am I missing an obvious way to do this with sed/awk/grep/egrep etc?)
:-)
Thanks
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
On OS 10.4.11
I have filenames like:
670711 SA T2 v1-1_DS_EF.doc
CT_670520 AM T1 v1-2_DS_EF.doc
CT_670716 - 2 SA T4 v1-2_DS_EF.doc
CT_670713 SA T3 v1-1_DS_EF.doc
670421 PA DYP1 v1-1_DS_EF.doc
CT_670425 PA DYP2 v1-1_DS_EF.doc
CT_670107 RA T3 v1-2_DS_EF.doc
CT_670521 AM T2 v1-2_DS_EF.doc... (3 Replies)
Discussion started by: mlommel
3 Replies
2. Shell Programming and Scripting
I am trying to get a substring from a string stored in a variable. I tried sed with a bit help from this forum, but not successful. Here is my problem.
My string is: "REPLYFILE=myfile.txt"
And I need: myfile.txt (everything after the = symbol).
My string is: "myfile.txt.gz.20091120.enc... (5 Replies)
Discussion started by: jamjam10k
5 Replies
3. Shell Programming and Scripting
Hi Folks,
I am here with a simple doubt. I am having a flat file in which I want to replace the characters from say 5 to 15 as some text.
Flat file contains a single line.
For example
01MRRAJESH21000RAJESH INDUSTRIES
In the above line pos 16-21 is Rajesh, I want to search for the... (4 Replies)
Discussion started by: dinesh1985
4 Replies
4. Shell Programming and Scripting
Input:
You can easily do this by highlighting your code.
How can i get the substring from index 9 to 12 using sed? (6 Replies)
Discussion started by: cola
6 Replies
5. Shell Programming and Scripting
Hi Gurus,I have a seemingly simple problem but struggling with it.It is as follows :
I/p string -
ABCDEFGHIJ20100909.txt
desired o/p -
AB,DEF,20100909,ABCDEFGHIJ20100909.txt
How to achieve it ?Thanks in advance.
Please use code tags, thank you (20 Replies)
Discussion started by: sumoka
20 Replies
6. Shell Programming and Scripting
HI All,
I have a file which looks like below
./Prod_id/rel/prod/lib.a
./Some_text/rel/fld/lib.a
./Some_text/deb/detail/lib.a
./Some_text/deb/err/lib.a
./Some_text/rel/prod/lib.a
./Some_text/rel/fld/lib.a
./Some_text/deb/detail/lib.a
./Some_text/deb/err/lib.a
I want... (5 Replies)
Discussion started by: anand.shah
5 Replies
7. Shell Programming and Scripting
Hi All,
I have this text file
IR7013903069171012INT10171211864
Axxxxxxxxxx12345dddddddddddd
Byyyyyyyyy99999999ddddddddd
IR7013903069171012TOS10171211865
Cffffffffff5745747ehdefffffffffgggggggg
Dyyyyyyyyy99999999ddddddddd
I need to
1) find lines where the substring IR70139 is... (5 Replies)
Discussion started by: gio123bgg
5 Replies
8. Shell Programming and Scripting
Greetings.
I'm looking to isolate the first occurrence of an arbitrary substring which may be present at any particular line in a given file. The enclosing end markers for the target in our thought problem are string" and ". The complete string and surrounding text could look something like... (3 Replies)
Discussion started by: LinQ
3 Replies
9. Shell Programming and Scripting
I'm attempting to replace a substring that contains a hyphen and not having much success, can anyone point out where i'm going wrong or suggest an alternative.
# echo /var/lib/libvirt/images/vm888b-clone.qcow | sed -e 's|vm888-clone|qaz|g'
/var/lib/libvirt/images/vm888b-clone.qcow (1 Reply)
Discussion started by: squrcles
1 Replies
10. Shell Programming and Scripting
i have this data where i am looking for a two digit number 01,03,05 or 07.
if not found i should detect that .
this sed command gives me the matching rows . I want the opposite , i want the rows if the match is NOT found .
also the sed command is only looking for 01, can i add 03, 05, 07 to... (7 Replies)
Discussion started by: boncuk
7 Replies
textutil::trim(n) Text and string utilities, macro processing textutil::trim(n)
__________________________________________________________________________________________________________________________________________________
NAME
textutil::trim - Procedures to trim strings
SYNOPSIS
package require Tcl 8.2
package require textutil::trim ?0.7?
::textutil::trim::trim string ?regexp?
::textutil::trim::trimleft string ?regexp?
::textutil::trim::trimright string ?regexp?
::textutil::trim::trimPrefix string prefix
::textutil::trim::trimEmptyHeading string
_________________________________________________________________
DESCRIPTION
The package textutil::trim provides commands that trim strings using arbitrary regular expressions.
The complete set of procedures is described below.
::textutil::trim::trim string ?regexp?
Remove in string any leading and trailing substring according to the regular expression regexp and return the result as a new
string. This is done for all lines in the string, that is any substring between 2 newline chars, or between the beginning of the
string and a newline, or between a newline and the end of the string, or, if the string contain no newline, between the beginning
and the end of the string. The regular expression regexp defaults to "[ \t]+".
::textutil::trim::trimleft string ?regexp?
Remove in string any leading substring according to the regular expression regexp and return the result as a new string. This apply
on any line in the string, that is any substring between 2 newline chars, or between the beginning of the string and a newline, or
between a newline and the end of the string, or, if the string contain no newline, between the beginning and the end of the string.
The regular expression regexp defaults to "[ \t]+".
::textutil::trim::trimright string ?regexp?
Remove in string any trailing substring according to the regular expression regexp and return the result as a new string. This apply
on any line in the string, that is any substring between 2 newline chars, or between the beginning of the string and a newline, or
between a newline and the end of the string, or, if the string contain no newline, between the beginning and the end of the string.
The regular expression regexp defaults to "[ \t]+".
::textutil::trim::trimPrefix string prefix
Removes the prefix from the beginning of string and returns the result. The string is left unchanged if it doesn't have prefix at
its beginning.
::textutil::trim::trimEmptyHeading string
Looks for empty lines (including lines consisting of only whitespace) at the beginning of the string and removes it. The modified
string is returned as the result of the command.
BUGS, IDEAS, FEEDBACK
This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category textutil
of the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for
either package and/or documentation.
SEE ALSO
regexp(n), split(n), string(n)
KEYWORDS
prefix, regular expression, string, trimming
textutil 0.7 textutil::trim(n)