Extract lines with specific words with addition 2 lines before and after


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Extract lines with specific words with addition 2 lines before and after
# 1  
Extract lines with specific words with addition 2 lines before and after

Dear all,

Greetings.

I would like to ask for your help to extract lines with specific words in addition 2 lines before and after these lines by using awk or sed.

For example, the input file is:

Code:
1 ak1 abc1.0
1 ak2 abc1.0
1 ak3 abc1.0
1 ak4 abc1.0
1 ak5 abc1.1
1 ak6 abc1.1
1 ak7 abc1.1
1 ak8 abc1.1
1 ak9 abc1.1
1 ak10 abc1.1
1 ak11 abc1.2
1 ak12 abc1.2
1 ak13 abc1.2
1 ak14 abc1.2
1 ak15 abc1.2

How can I extract the lines as below:

Code:
1 ak3 abc1.0
1 ak4 abc1.0
1 ak5 abc1.1
1 ak6 abc1.1
1 ak7 abc1.1
1 ak8 abc1.1
1 ak9 abc1.1
1 ak10 abc1.1
1 ak11 abc1.2
1 ak12 abc1.2

I truly appreciate your advice and helps. Thank you very much in advance. Hoping to hear a reply from you.

Best regards,
Amanda

Moderator's Comments:
Mod Comment Please use code tags next time for your code and data.
# 2  
What OS (type of UNIX)?
# 3  
Dear jim mcnamara,

Sorry... Is x86_64 GNU/Linux the answer for your question?

I am sorry if I did not answer the questions, I am new in this field.

Thank you very much.

Amanda
# 4  
@amanda, your expected output shows, just a paragraph printing .. If yes, try the below ..
Code:
$ nawk '/ak3/,/ak12/' infile
1 ak3 abc1.0
1 ak4 abc1.0
1 ak5 abc1.1
1 ak6 abc1.1
1 ak7 abc1.1
1 ak8 abc1.1
1 ak9 abc1.1
1 ak10 abc1.1
1 ak11 abc1.2
1 ak12 abc1.2
$

If question varies, post the expected output along with your tries to achieve ..
# 5  
Hi Jayan Jay,

Thank you very much for your reply.

Firstly I would like to apologize about my unclear example. Actually I have a big dataset which I need to extract lines with specific words from the 3rd column which is "abc1.1" from this example together with 2 lines above and 2 lines below. This pattern will loop for the whole dataset.

Is there any possibility?

Thank you very much in advance.

Best wishes,
Amanda
# 6  
Gnu grep has -C option

try this

Code:
grep -C 2 "abc1.1" input.txt

This User Gave Thanks to itkamaraj For This Post:
# 7  
Hi Itkamaraj,

Thank you very much for your help. It works perfectly.

Thanks again.

Amanda
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #531
Difficulty: Easy
Unicode is not backward compatible, so it does not work with plain ASCII characters.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extract specific lines based on another file

I have a folder containing text files. I need to extract specific lines from the files of this folder based on another file input.txt. How can I do this with awk/sed? file1 ARG 81.9 8 81.9 0 LEU 27.1 9 27.1 0 PHE .0 10 .0 0 ASP 59.8 11 59.8 0 ASN 27.6 12 27.6 0 ALA .0 13 .0 0... (5 Replies)
Discussion started by: alanmathew84
5 Replies

2. Shell Programming and Scripting

ksh sed - Extract specific lines with mulitple occurance of interesting lines

Data file example I look for primary and * to isolate the interesting slot number. slot=`sed '/^primary$/,/\*/!d' filename | tail -1 | sed s'/*//' | awk '{print $1" "$2}'` Now I want to get the Touch line for only the associate slot number, in this case, because the asterisk... (2 Replies)
Discussion started by: popeye
2 Replies

3. Shell Programming and Scripting

Extract lines with unique value using a specific column

Hi there, I need a help with extracting data from tab delimited file which look like this #CHROM POS ID REF ALT Human Cow Dog Mouse Lizard chr2 3033 . G C 0/0 0/0 0/0 1/1 0/0 chr3 35040 . G T 0/0 0/0 ./. 1/1 0/1 chr4 60584 . T G 1/1 1/1 0/1 1/1 0/0 chr10 7147815 . G A 0/0 1/1 0/0 0/0... (9 Replies)
Discussion started by: houkto
9 Replies

4. Shell Programming and Scripting

how to print specific lines or words

Hi, Please have a look on below records. STG_HCM_STATE_DIS_TAX_TBL.1207.Xfm: The value of the row is: EMPLID = 220677 COMPANY = 919 BALANCE_ID = 0 BALANCE_YEAR = 2012 STG_HCM_STATE_DIS_TAX_TBL.1207.Xfm: ORA-00001: unique constraint (SYSADM.PS_TAX_BALANCE) violated ... (4 Replies)
Discussion started by: Sachin Lakka
4 Replies

5. UNIX Desktop Questions & Answers

Display a specific words from a multiple lines

well, i am so not familiar with this kind of things but i am gonna explain extactly what i am looking for so hopfully someone can figure it out :) i have a command that shows memory usage besides the process name, for example(the command output): 500 kb process_1 600 kb process_2 700 kb... (4 Replies)
Discussion started by: Portabello
4 Replies

6. Shell Programming and Scripting

Extract specific lines from a file

Hi, I have a file which contains DDL statements- CREATE TABLE, CREATE INDEX, ALTER TABLE etc. I have to only pick CREATE TABLE statements from the file- Source : ---------------------------------------------- --DDL for table abc -------------------------------------------- CREATE TABLE... (4 Replies)
Discussion started by: newb
4 Replies

7. Shell Programming and Scripting

Keep lines with specific words up in an order

I hava a file with following data: number|CREDIT_ID|NULL date|SYS_CREATION_DATE|NULL varchar2|GGS_COMMIT_CHAR|NULL varchar2|GGS_OP_TYPE|NULL number|GGS_SCN|NULL| number|GGS_LOG_SEQ|NULL number|GGS_LOG_POS|NULL number|GGS_ORACREC_SCN|NULL varchar2|BATCH_ID|NULL char|GGS_IMAGE_TYPE|NULL ... (6 Replies)
Discussion started by: kolesunil
6 Replies

8. UNIX for Dummies Questions & Answers

Extract specific lines for graphing

Hello, I have a very large text file with about 2 million lines. Each of the lines starts like.. SNP_12345678 A 1212, 121, 343, ... SNP_12345678 B 4567, 567, 454, ... and so on. I want to extract specific SNPs and plot them by GNUplot or excel. The file is too large to be opened by text... (1 Reply)
Discussion started by: genehunter
1 Replies

9. Shell Programming and Scripting

Ignore some lines with specific words from file comparison

Hi all, I need help in doing this scenario. I have two files with multiple lines. I want to compare these two files but ignoring the lines which have words like Tran, Loc, Addr, Charge. Also if i have a word Credit in line, i want to tokenize (i.e string after character " ... (2 Replies)
Discussion started by: jakSun8
2 Replies

10. UNIX for Dummies Questions & Answers

extract specific lines from file

hi, how would i extract a range of lines in a file by using the line number? ex: file contains: 1 title 2 i want 3 this part 4 to be taken out 5 from this file 6 and sent to 7 another file 8 not needed 9 end of file In this case, i want to copy line number 2 to 7 on a new... (2 Replies)
Discussion started by: apalex
2 Replies

Featured Tech Videos