Sponsored Content
Top Forums Shell Programming and Scripting Extract First and matching word from string in UNIX Post 302844362 by Jotne on Monday 19th of August 2013 03:35:30 AM
Old 08-19-2013
Fixed some on krishmaths code (removed extra bracket and gsub)
Code:
awk '{a=$1;gsub(/[()]/," ");for(i=2;i<=NF;i++) {if(substr($i,1,5)=="$dwh.") a=a" "substr($i,6)};print a}' file.sql

Code:
awk '{
	a=$1
	gsub(/[()]/," ")
	for(i=2;i<=NF;i++) {
		if(substr($i,1,5)=="$dwh.") a=a" "substr($i,6)}
	print a
	}' file.sql


EDIT: modified some
Code:
awk '{a=$1;gsub(/[().]/," ");for(i=2;i<=NF;i++) if($i=="$dwh") a=a" "$(i+1);print a}' file.sql


Last edited by Jotne; 08-19-2013 at 04:54 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

perl newbie: how to extract an unknown word from a string

hi, im quite new to perl regexp. i have a problem where i want to extract a word from a given string. but the word is unknown, only fact is that it appears as the second word in the string. Eg. input string(s) : char var1 = 'A'; int var2 = 10; char *ptr; and what i want to do is... (3 Replies)
Discussion started by: wolwy_pete
3 Replies

2. Shell Programming and Scripting

Extract single or multi word string in Cshell

I am using the following code: set LASInputFile = `ls *. | head -1` set COMPLine = `grep -i :COMPANY $LASInputFile` to extract the following line from my input file: COMP. XYZ Public Company :COMPANY NAME I now need to extract the full name of the company which... (15 Replies)
Discussion started by: phudgens
15 Replies

3. Shell Programming and Scripting

Search string in unix and print whole matching word

Hi I have requirement to search string starting with specific characters and print whole matching word in that string. example mystr="ATTRIBUTE NAME="Event Name" VALUE="Execute"" I want to search by passing "NAME=" and result should be NAME="Event Name". i am using below command but... (3 Replies)
Discussion started by: tmalik79
3 Replies

4. Shell Programming and Scripting

Using SED to extract a word or string.

I am working with the ksh shell in HP UNIX and I am attempting to extract a word, beginning with a particular string and ending at the first space. for example I want to extract the word or string MS_RECENT_ACTIVITY from the following string " This has been entered in MS_RECENT_ACTIVITY the... (2 Replies)
Discussion started by: simpletech369
2 Replies

5. Shell Programming and Scripting

how to extract last word and a number from a string

I have the following script (which I made by my self) #!/bin/bash # add a few empty lines to make it more legible # add a date description on each update interval echo "" >> /home/user/DYN_DNS_IP_change.log echo "" >> /home/user/DYN_DNS_IP_change.log echo "" >>... (6 Replies)
Discussion started by: mahirzukic2
6 Replies

6. Shell Programming and Scripting

Extract a string from another string in UNIX

I have a string string="Please have a nice day and sleep well Replace_12123_31233_32134_12342 Good day" How do i replace "Replace_12123_31233_32134_1234" in the above string.?? Please help. Regards, Qwerty (3 Replies)
Discussion started by: qwertyu
3 Replies

7. Shell Programming and Scripting

Command to extract word from a string

Hi All, I have a word and from that word would like to search for certain set of string, is there any command to do so ? EX : Components from the above word, would like to search for strings set and extract the search string and then do if stmt... pon nen ent Com say... (2 Replies)
Discussion started by: Optimus81
2 Replies

8. Shell Programming and Scripting

Extract all text between the same matching string from a given column

Hello All, I have an input sample data like below (In actual I have many columns and few million rows). Column1,Column2 4,2 1,5 Hello,4 1,4 Hello,2 3,5 Hello,8 4,5 Need the output (using awk and/or sed preferably) like below. Here I need all the lines between 2 matching... (1 Reply)
Discussion started by: ks_reddy
1 Replies

9. Shell Programming and Scripting

How can I extract XML block around matching search string?

I want to extract XML block surrounding search string Ex: print XML block for string "myapp1-ear" surrounded by "<application> .. </application>" Input XML: <?xml version="1.0" encoding="UTF-8"?> <deployment-request> <requestor> <first-name>kchinnam</first-name> ... (16 Replies)
Discussion started by: kchinnam
16 Replies

10. UNIX for Beginners Questions & Answers

Get string before specific word in UNIX

Hi All, I'm writing unix shell script and I have these files. I need to get name before _DETL.tmp. ABC_AAA_DETL.tmp ABC_BBB_DETL.tmp ABC_CCC_DETL.tmp PQR_DETL.tmp DEF_DETL.tmp JKL_DETL.tmp YUI_DETL.tmp TG_NM_DDD_DETL.tmp TG_NM_EEE_DETL.tmp GHJ_DETL.tmp RTY_DETL.tmp output will... (3 Replies)
Discussion started by: ace_friends22
3 Replies
expr(1) 							   User Commands							   expr(1)

NAME
expr - evaluate arguments as an expression SYNOPSIS
/usr/bin/expr argument... /usr/xpg4/bin/expr argument... /usr/xpg6/bin/expr argument... DESCRIPTION
/usr/bin/expr, /usr/xpg4/bin/expr The expr utility evaluates the expression and writes the result to standard output. The character 0 is written to indicate a zero value and nothing is written to indicate a null string. /usr/xpg6/bin/expr The expr utility evaluates the expression and writes the result to standard output followed by a NEWLINE. If there is no result from expr processing, a NEWLINE is written to standard output. OPERANDS
The argument operand is evaluated as an expression. Terms of the expression must be separated by blanks. Characters special to the shell must be escaped (see sh(1)). Strings containing blanks or other special characters should be quoted. The length of the expression is lim- ited to LINE_MAX (2048 characters). The operators and keywords are listed below. The list is in order of increasing precedence, with equal precedence operators grouped within {} symbols. All of the operators are left-associative. expr | expr Returns the evaluation of the first expr if it is neither NULL nor 0; otherwise, returns the evaluation of the second expr if it is not NULL; otherwise, 0. expr & expr Returns the first expr if neither expr is NULL or 0, otherwise returns 0. expr{ =, >, >=, <, <=, !=} expr Returns the result of an integer comparison if both arguments are integers, otherwise returns the result of a string comparison using the locale-specific coalition sequence. The result of each comparison will be 1 if the specified relationship is TRUE, 0 if the rela- tionship is FALSE. expr { +, - } expr Addition or subtraction of integer-valued arguments. expr { *, /, %} expr Multiplication, division, or remainder of the integer-valued arguments. expr : expr The matching operator : (colon) compares the first argument with the second argument, which must be an internationalized basic regular expression (BRE), except that all patterns are anchored to the beginning of the string. That is, only sequences starting at the first character of a string are matched by the regular expression. See regex(5) and NOTES. Normally, the /usr/bin/expr matching operator returns the number of bytes matched and the /usr/xpg4/bin/expr matching operator returns the number of characters matched (0 on fail- ure). If the second argument contains at least one BRE sub-expression [(...)], the matching operator returns the string corresponding to 1. integer An argument consisting only of an (optional) unary minus followed by digits. string A string argument that cannot be identified as an integer argument or as one of the expression operator symbols. Compatibility Operators (x86 only) The following operators are included for compatibility with INTERACTIVE UNIX System only and are not intended to be used by non- INTERAC- TIVE UNIX System scripts: index string character-list Report the first position in which any one of the bytes in character-list matches a byte in string. length string Return the length (that is, the number of bytes) of string. substr string integer-1 integer-2 Extract the substring of string starting at position integer-1 and of length integer-2 bytes. If integer-1 has a value greater than the number of bytes in string, expr returns a null string. If you try to extract more bytes than there are in string, expr returns all the remaining bytes from string. Results are unspecified if either integer-1 or integer-2 is a negative value. EXAMPLES
Example 1: Adding an integer to a shell variable Add 1 to the shell variable a: example$ a=`expr $a + 1` Example 2: Returning a path name segment The following example emulates basename(1), returning the last segment of the path name $a. For $a equal to either /usr/abc/file or just file, the example returns file. (Watch out for / alone as an argument: expr takes it as the division operator. See NOTES below.) example$ expr $a : '.*/(.*)' | $a Example 3: Using // characters to simplify the expression Here is a better version of the previous example. The addition of the // characters eliminates any ambiguity about the division operator and simplifies the whole expression. example$ expr //$a : '.*/(.*)' /usr/bin/expr Example 4: Returning the number of bytes in a variable example$ expr "$VAR" : '.*' /usr/xpg4/bin/expr Example 5: Returning the number of characters in a variable example$ expr "$VAR" : '.*' ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of expr: LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES, and NLSPATH. EXIT STATUS
As a side effect of expression evaluation, expr returns the following exit values: 0 If the expression is neither NULL nor 0. 1 If the expression is either NULL or 0. 2 For invalid expressions. >2 An error occurred. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |CSI |enabled | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ SEE ALSO
basename(1), ed(1), sh(1), Intro(3), attributes(5), environ(5), regex(5), standards(5) DIAGNOSTICS
syntax error Operator and operand errors. non-numeric argument Arithmetic is attempted on such a string. NOTES
After argument processing by the shell, expr cannot tell the difference between an operator and an operand except by the value. If $a is an =, the command: example$ expr $a = '=' looks like: example$ expr = = = as the arguments are passed to expr (and they are all taken as the = operator). The following works: example$ expr X$a = X= Regular Expressions Unlike some previous versions, expr uses Internationalized Basic Regular Expressions for all system-provided locales. Internationalized Regular Expressions are explained on the regex(5) manual page. SunOS 5.10 29 Aug 2003 expr(1)
All times are GMT -4. The time now is 04:35 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy