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
# 1  
Old 08-03-2010
Bug Capturing the string and the string below it

Hi,
I want to read the following input and want to produce an output as given below.

Input:
Code:
  CAR                DESIGN          COLOUR        SERVICE 
  MERZ              APPLE             RED              2 YEARS
                       ORANGE
                       GRAPE            
   
  VW                                      WHITE          0 YEAR
   
  AUDI               MANGO             BLUE              1 YEAR

output:
Code:
MERZ , APPLE , ORANGE ,  GRAPE , RED , 2 YEARS
VW , WHITE , 0 YEAR
AUDI , MANGO , BLUE , 1 YEAR

Kindly need your help on this.
Thanks in advance.
# 2  
Old 08-03-2010
how about:
Code:
awk '{print $1 ", " $2 ", " $3 ", " $4 " " $5 }' file.txt | grep -v "CAR"

# 3  
Old 08-03-2010
Thanks for the reply... One problem with the script...APPLE, ORANGE & GRAPE should come in the 1st line but the script is reading line by line, it should group the various designs under the car brand in single line.
# 4  
Old 08-03-2010
Hi,
try this,

Code:
#!/usr/bin/perl

undef $\;
open (FH,"<","/dir/cardetails");

while (<FH>) {
if ($. == 1 ) { next ; }
if (/^\s+$/) { next ; }
if (/^\s\s(\w+)\s+(\w+)\s+(\w+)\s+(.*)/) {
if ( defined ($f3) ) {
print " $f3,$f4 \n";
}
print "$1,$2,";
$f3=$3; $f4=$4;
}
else {
chomp;
print "$_,";
}
}
if ( defined ($f3) ) {
print "$f3,$f4 \n";
}
close(FH);

# 5  
Old 08-03-2010
Or:
Code:
awk '/YEAR/{$1=$1;print}' OFS=", " file |sed 's/\(.*\),\(.*\)/\1\2/'

# 6  
Old 08-03-2010
Hi Franklin,

Could you please explain the code ?
# 7  
Old 08-03-2010
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...
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