Sponsored Content
Top Forums Shell Programming and Scripting match a pattern, print it and the next line Post 79473 by nymus7 on Thursday 28th of July 2005 06:02:17 AM
Old 07-28-2005
match a pattern, print it and the next line

I have a file nbu_faq.txt (Question/answer) which looks like this
Quote:
Q: What is nbu?
A: blablabla...
Q: What is blablabla...?
A: blablabla...
Q: Why ....?
A: blablabla...
and so on...
What I am trying to do is write out each question in a file1.txt and than the question/answer in a file2.txt
like this
file1.txt
Q: What is nbu?
Q: What is blablabla...?
Q: Why ....?
file2.txt
Q: What is nbu?
A: blablabla...
Q: What is blablabla...?
A: blablabla...
Q: Why ....?
A: blablabla...
Code:
for QUESTIONS in $(cat nbu_faq.txt |grep "Q: " |awk '{print $0}' )
do
  echo $QUESTIONS >> TITLE
  echo $(awk '$1 == "$QUESTIONS" {
          print $0
          next
  }
  {print $0} ' nbu_faq.txt) >> QUEST_ANSWER
done

Where TITLE and QUEST_ANSWER are file1.txt and file2.txt
1. first problem is that the loop take argument $1,$2,$3,... for $0 and not the whole line (ex: Q: What is nbu?)!
2. second problem is to print the line where the pattern $QUESTION is matching and the next line!
Could someone help me?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

match a pattern and print the line once

Hi, I have a xml file <cisco:name> <cisco:mdNm>Cisco Device 7500 A Series</cisco:mdNm> <cisco:meNm>10.1.100.19</cisco:meNm> <cisco:ehNm>/shelf=1</cisco:ehNm> <cisco:subname> <cisco:meNm>10.1.100.19</cisco:meNm> <cisco:sptp>Cisco PortA Series</cisco:sptp> ... (11 Replies)
Discussion started by: bhagirathi
11 Replies

2. Shell Programming and Scripting

Search word in a line and print earlier pattern match

Hi All, I have almost 1000+ files and I want to search specific pattern. Looking forwarded your input. Search for: word1.word2 (Which procedure contain this word, I need procedure name in output. Expected output: procedure test1 procedure test2 procedure test3 procedure test4 ... (7 Replies)
Discussion started by: susau_79
7 Replies

3. UNIX for Dummies Questions & Answers

MATCH A PATTERN AND PRINT A LINE ABOVE AND BELOW

Dear All, Hv a very specific requirement. I have a very large text file and in which I have to match a pattern and insert a line above and below. Eg: My file cat test date1 date2 date3 date4 I need to match 'date3' and insert "Reminder1" above date3 and insert 'reminder2'... (4 Replies)
Discussion started by: gokulj
4 Replies

4. Shell Programming and Scripting

Print Line if next line Match a pattern

Hi All, Does anyone know how to print 1H1A....... in peal script print line ^1H1A....... if next line equal 5R0RECEIPT.... Thank for help:D Cat st.txt 1H1A-IN-11-5410-0009420|1010047766|dsds|1|N|IN|IN|000000|1||N|<<<line match 5R0RECEIPT| 5R0RECEIPT|... (2 Replies)
Discussion started by: kittiwas
2 Replies

5. Shell Programming and Scripting

awk print pattern match line and following lines

Data: Pattern Data Data Data Data Data Data Data Data Data ... With awk, how do I print the pattern matching line, then the subsequent lines following the pattern matching line. Varying number of lines following the pattern matching line. (9 Replies)
Discussion started by: dmesserly
9 Replies

6. Shell Programming and Scripting

Print only next pattern in a line after a pattern match

I have 2013-06-11 23:55:14 1Umexd-0004cm-IG <= user@domain.com I need sed/awk operation on this, so that it should print the very next pattern only after the the pattern mach <= ie only print user@domain.com (7 Replies)
Discussion started by: anil510
7 Replies

7. Shell Programming and Scripting

Multiple pattern match and print the output in a single line

I need to match two patterns in a log file and need to get the next line of the one of the pattern (out of two patterns) that is matched, finally need to print these three values in a single line. Sample Log: 2013/06/11 14:29:04 <0999> (725102) Processing batch 02_1231324 2013/06/11... (4 Replies)
Discussion started by: rpm120
4 Replies

8. Shell Programming and Scripting

Match pattern and print the line number of occurence using awk

Hi, I have a simple problem but i guess stupid enough to figure it out. i have thousands rows of data. and i need to find match patterns of two columns and print the number of rows. for example: inputfile abd abp 123 abc abc 325 ndc ndc 451 mjk lkj... (3 Replies)
Discussion started by: redse171
3 Replies

9. Shell Programming and Scripting

Regex: print matched line and exact pattern match

Hi experts, I have a file with regexes which is used for automatic searches on several files (40+ GB). To do some postprocessing with the grep result I need the matching line as well as the match itself. I know that the latter could be achieved with grep's -o option. But I'm not aware of a... (2 Replies)
Discussion started by: stresing
2 Replies

10. Shell Programming and Scripting

Match Pattern and print pattern and multiple lines into one line

Hello Experts , require help . See below output: File inputs ------------------------------------------ Server Host = mike id rl images allocated last updated density vimages expiration last read <------- STATUS ------->... (4 Replies)
Discussion started by: tigerhills
4 Replies
SC_WARTS2TEXT(1)					    BSD General Commands Manual 					  SC_WARTS2TEXT(1)

NAME
sc_warts2text -- simple dump of information contained in a warts file. SYNOPSIS
sc_warts2text [-d ip2descr-file] [file ...] DESCRIPTION
The sc_warts2text utility provides a simple dump of information contained in a sequence of warts files. The output is the same as that which would have been provided by scamper if the text output option had been chosen instead of the warts output option when the data was collected. The options are as follows: -d ip2descr-file specifies the name of a file with IP-address, description mappings, one mapping per line. See the examples section for further information. While the output of sc_warts2text is structured and suitable for initial analyses of results, the format of the output is not suitable for automated parsing and analysis as the output of sc_warts2text will change overtime with no regard to backwards compatibility. Analyses of the contents of a warts file should be made using specialised programs which link against the scamper file API. EXAMPLES
The command: sc_warts2text file1.warts file2.warts will decode and print the contents of file1.warts, followed by the contents of file2.warts. The command: gzcat file1.warts.gz | sc_warts2text will print the contents of the uncompressed file supplied on stdin. Given a set of IP-address, description pairs in a file name mappings.txt: 192.0.2.1 "foo" 192.0.2.2 "bar" then the command gzcat file1.warts.gz | sc_warts2text -d mappings.txt will print the description associated with a given destination address before each result is presented. SEE ALSO
scamper(1), sc_wartsdump(1) AUTHORS
sc_warts2text is written by Matthew Luckie <mjl@luckie.org.nz>. BSD
October 15, 2010 BSD
All times are GMT -4. The time now is 07:17 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy