Capturing the string and the string below it


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Capturing the string and the string below it
# 8  
Old 08-03-2010
Quote:
Originally Posted by pravin27
Hi Franklin,

Could you please explain the code ?
Code:
awk '/YEAR/{$1=$1;print}' OFS=", " file | sed 's/\(.*\),\(.*\)/\1\2/'

/YEAR/ -> select lines with "YEAR"
$1=$1 -> reset the field separators (remove double spaces)..
print -> ..and print the line..
OFS=", " -> .. with the new output fieldseparator

Code:
sed 's/\(.*\),\(.*\)/\1\2/'

The sed command removes the last comma of the output of the awk command.

\(.*\),\(.*\) -> selects two patterns \(.*\) of the string, the 1st pattern is the line until the last comma (greedy match) and the 2e pattern the line after the last comma.
\1\2 -> prints the 2 patterns.

---------- Post updated at 14:55 ---------- Previous update was at 14:25 ----------

Quote:
Originally Posted by bha148
Hi Franklin,
Thanks for the reply. Your code gives the output like this...

Code:
MERZ, APPLE, RED, 2 YEARS
VW, WHITE, 0 YEAR
AUDI, GREEN, BLUE, 1 YEAR

script is not capturing the 'orange' and 'grape' fields in the first line output...
Sorry, I misread the question...in this case the code shouldn't work.

Did you try the other solutions above?

Difficult to automate this with a bad structured file, you could have more pitfalls in your file...Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

awk Associative Array and/or Referring to Field by String (Nonconstant String Value)

I will start with an example of what I'm trying to do and then describe how I am approaching the issue. File PS028,005 Lexeme HRS # M # PhraseType 1(1:1) 7(7) PhraseLab 501 503 ClauseType ZYq0 PS028,005 Lexeme W # L> # BNH # M #... (17 Replies)
Discussion started by: jvoot
17 Replies

2. UNIX for Beginners Questions & Answers

Search a string and display its location on the entire string and make a text file

I want to search a small string in a large string and find the locations of the string. For this I used grep "string" -ob <file name where the large string is stored>. Now this gives me the locations of that string. Now how do I store these locations in a text file. Please use CODE tags as... (7 Replies)
Discussion started by: ANKIT ROY
7 Replies

3. Shell Programming and Scripting

Remove lines between the start string and end string including start and end string Python

Hi, I am trying to remove lines once a string is found till another string is found including the start string and end string. I want to basically grab all the lines starting with color (closing bracket). PS: The line after the closing bracket for color could be anything (currently 'more').... (1 Reply)
Discussion started by: Dabheeruz
1 Replies

4. Shell Programming and Scripting

grep exact string from files and write to filename when string present in file

I am attempting to grep an exact string from a series of files within a directory and append that output to the filename when it is present in the file. I've been after this all day with no luck. Thanks for your help in advance :wall:. (4 Replies)
Discussion started by: JC_1
4 Replies

5. Shell Programming and Scripting

sed or awk command to replace a string pattern with another string based on position of this string

here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb cat dump.sql INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Discussion started by: vivek d r
10 Replies

6. UNIX for Dummies Questions & Answers

Comparing a String variable with a string literal in a Debian shell script

Hi All, I am trying to to compare a string variable with a string literal inside a loop but keep getting the ./testifstructure.sh: line 6: #!/bin/sh BOOK_LIST="BOOK1 BOOK2" for BOOK in ${BOOK_LIST} do if then echo '1' else echo '2' fi done Please use next... (1 Reply)
Discussion started by: daveu7
1 Replies

7. Shell Programming and Scripting

capturing the value in file before string(*) and the similar value in next line only

I've the output in the file like below. I want to capture the value in file before string(*) and the similar value in next line only. cat test1.txt 0003 Not Visible (M) 0 00 03F 0005 Not Visible (M) 0 00 040 - AVAILABLE 0 00... (1 Reply)
Discussion started by: sai_1712
1 Replies

8. Shell Programming and Scripting

capturing the value in file before string(*) using sed

I am trying to capture the last value before the the * in test4.txt file using sed & tail (in this case 0FA). I got the output using the below steps. P.s: The number of * in the file varies from file to file. Any idea of a better way to do this? cat test4.txt ... (2 Replies)
Discussion started by: sai_1712
2 Replies

9. Shell Programming and Scripting

to extract string from main string and string comparison

continuing from my previous post, whose link is given below as a reference https://www.unix.com/shell-programming-scripting/171076-shell-scripting.html#post302573569 consider there is create table commands in a file for eg: CREATE TABLE `Blahblahblah` ( `id` int(11) NOT NULL... (2 Replies)
Discussion started by: vivek d r
2 Replies

10. Shell Programming and Scripting

Capturing string between a xml tag

Hi All, I have an XML-: <ProcId>CES_P5010_AddVLan</ProcId> <DataVersion>yxcxycyxcycyxc</DataVersion> <JobId>OR3000055-002-1</JobId> </CesHeader> <VLanServiceList> <NopId>blu</NopId> </VLanServiceList> <StatusNPA>2</StatusNPA> ... (5 Replies)
Discussion started by: amit_iti
5 Replies
Login or Register to Ask a Question