Visit Our UNIX and Linux User Community


Extract Lines Between 2 patterns if exist...


 
Thread Tools Search this Thread
Operating Systems Linux Debian Extract Lines Between 2 patterns if exist...
# 1  
Old 09-28-2014
Extract Lines Between 2 patterns if exist...

Hello.

I am not having luck with sed or awk today.

$ echo "$BrackListFinal"
Code:
DSCF3649-DSCF3651_Brkt
DSCF3649.JPG    2014-07-21 13:34:44    On    1
DSCF3649.RAF    2014-07-21 13:34:44    On    1
DSCF3650.JPG    2014-07-21 13:34:45    On    2
DSCF3650.RAF    2014-07-21 13:34:45    On    2
DSCF3651.JPG    2014-07-21 13:34:45    On    3
DSCF3651.RAF    2014-07-21 13:34:45    On    3
DSCF3652-DSCF3654_Brkt
DSCF3652.JPG    2014-07-21 13:38:24    On    1
DSCF3652.RAF    2014-07-21 13:38:24    On    1
DSCF3653.JPG    2014-07-21 13:38:24    On    2
DSCF3653.RAF    2014-07-21 13:38:24    On    2
DSCF3654.JPG    2014-07-21 13:38:25    On    3
DSCF3654.RAF    2014-07-21 13:38:25    On    3

I am trying to move all files after the parent directory that ends in '_Brkt'.

I tried;
#1
Code:
echo "$BrackListAllFinal" | awk '/^DSCF3602/, /_Brkt$/'

and...
#2
Code:
echo "$BrackListAllFinal" | awk '/^DSCF3602.*1/, /_Brkt$/'

Result (#1);
Code:
DSCF3602-DSCF3604_Brkt
DSCF3602.JPG    2014-07-21 13:15:34    On    1
DSCF3602.RAF    2014-07-21 13:15:34    On    1
DSCF3603.JPG    2014-07-21 13:15:34    On    2
DSCF3603.RAF    2014-07-21 13:15:34    On    2
DSCF3604.JPG    2014-07-21 13:15:34    On    3
DSCF3604.RAF    2014-07-21 13:15:34    On    3
DSCF3643-DSCF3645_Brkt

I want to start at the 1st occurance of each directory that ends in '_Brkt', and display all files listed after, and before the next '_Brkt' (if exists).

Thank you.
# 2  
Old 09-28-2014
Something like this?
Code:
echo "$BrackListAllFinal" | grep _Brkt$

# 3  
Old 09-28-2014
You have shown output you do not want. This is not generally helpful. It's difficult to guess what a broken program we've never seen before is supposed to be doing.

How about showing us what output you do want? That would be very helpful. Much less wild-guessing.
# 4  
Old 09-29-2014
To Clarify...

I wish to start output after each occurance of '_Brkt',
until the next '_Brkt'.

So the desired results would be;

Code:
DSCF3649.JPG    2014-07-21 13:34:44    On    1
DSCF3649.RAF    2014-07-21 13:34:44    On    1
DSCF3650.JPG    2014-07-21 13:34:45    On    2
DSCF3650.RAF    2014-07-21 13:34:45    On    2
DSCF3651.JPG    2014-07-21 13:34:45    On    3
DSCF3651.RAF    2014-07-21 13:34:45    On    3

...then I'll move those files somewhere, then same for next '_Brkt'...

Code:
DSCF3652.JPG    2014-07-21 13:38:24    On    1
DSCF3652.RAF    2014-07-21 13:38:24    On    1
DSCF3653.JPG    2014-07-21 13:38:24    On    2
DSCF3653.RAF    2014-07-21 13:38:24    On    2
DSCF3654.JPG    2014-07-21 13:38:25    On    3
DSCF3654.RAF    2014-07-21 13:38:25    On    3


Last edited by Corona688; 09-29-2014 at 07:33 PM..

Previous Thread | Next Thread
Test Your Knowledge in Computers #339
Difficulty: Easy
sftp is less secure than ftp for transferring files between computers.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to print lines from a files with specific start and end patterns and pick only the last lines?

Hi, I need to print lines which are matching with start pattern "SELECT" and END PATTERN ";" and only select the last "select" statement including the ";" . I have attached sample input file and the desired input should be as: INPUT FORMAT: SELECT ABCD, DEFGH, DFGHJ, JKLMN, AXCVB,... (5 Replies)
Discussion started by: nani2019
5 Replies

2. UNIX for Beginners Questions & Answers

Delete multiple lines between blank lines containing two patterns

Hi all, I'm looking for a way (sed or awk) to delete multiple lines between blank lines containing two patterns ex: user: alpha parameter_1 = 15 parameter_2 = 1 parameter_3 = 0 user: alpha parameter_1 = 15 parameter_2 = 1 parameter_3 = 0 user: alpha parameter_1 = 16... (3 Replies)
Discussion started by: ce9888
3 Replies

3. Shell Programming and Scripting

Extract lines between patterns

I have a list in the format below, how do I read through the list and extract the lines between the ##START## and ##END##, so i can check for specific values between each ##START## & ##END## pattern ##START## RANDOMTEXT DFGSD SDFSDF ##END## ##START## morestuff sdfggfg sdfsdf... (10 Replies)
Discussion started by: squrcles
10 Replies

4. Shell Programming and Scripting

Extract all the lines in between of 2 patterns and merge them

Hi, I have a file with many lines and need to extract lines between 2 patterns (AAA and BBB) and merge all the in-between lines into single line separated by space. $ cat file1 blah blah blah blah AAA 1 2 3 blah BBB blah blah blah blah blah blah blah blah blah AAA 5 6 blah blah... (4 Replies)
Discussion started by: prvnrk
4 Replies

5. Shell Programming and Scripting

Deleting the lines exist between the Mattched Patterns

Hi, I have a file with the content: for name in \ sree\ rama\ laila\ srihari\ vicky\ john do echo $name done I need to remove all the name lines that exist between for (first line) and do line so that i can replace with new names. Output file should look like: (3 Replies)
Discussion started by: raosr020
3 Replies

6. Shell Programming and Scripting

PERL: extract lines between two patterns

Hello Perl-experts, I am new to perl and need help to solve a problem. I have a table in below format. <Text A> <Pattern1> A Value B Value C Value D Value <Pattern2> <Text B> This table is in file1. I want to extract lines between Pattern1 and Pattern2 and write it into file2.... (11 Replies)
Discussion started by: mnithink
11 Replies

7. Shell Programming and Scripting

Extract certain patterns from file.

Hi All, I tried extracting this pattern using grep but it did not work. What I have is a file which has contents like this: file:///channel/add-adhd.html file:///channel/allergies.html file:///channel/arthritis.html http://mail.yahoo.com/ http://messenger.yahoo.com/... (2 Replies)
Discussion started by: shoaibjameel123
2 Replies

8. Shell Programming and Scripting

Extract columns from a file if the name dont exist put blank

Hi, I am very new to Unix script. Suppose i have a file with column header: NAME1 NAME2 Address Tel And I always need to make a file with column header: ID NAME1 NAME2 EMail Address Tel For the columns that do not exist in the file, I would still like to make a column with blank. ... (11 Replies)
Discussion started by: nightrider
11 Replies

9. Shell Programming and Scripting

Searching patterns in 1 file and deleting all lines with those patterns in 2nd file

Hi Gurus, I have a file say for ex. file1 which has 3500 lines in it which are different account numbers and another file (file2) which has 230000 lines in it. I want to read all the lines in file1 and delete all those lines from file2 which has that same pattern as in file1. I am not quite... (4 Replies)
Discussion started by: toms
4 Replies

10. Shell Programming and Scripting

To extract the string between two patterns

Sample input: Loading File System Networking in nature Closing the System now i need to extract the patterns between the words File and Closing: i.e. sample output: System Networking in Nature Thanks in advance !!!!!!!!!!!!!!!!! (6 Replies)
Discussion started by: aajan
6 Replies

Featured Tech Videos