Sponsored Content
Top Forums Shell Programming and Scripting How to delete lines starting with specific string? Post 302911083 by huiyee1 on Wednesday 30th of July 2014 02:18:14 AM
Old 07-30-2014
How to delete lines starting with specific string?

Dear all,

I would like to delete even lines starting with "N" together with their respective titles which are actually odd lines.

Below is the example of input file. I would like to remove line 8 and 12 together with its title line, i.e., line 7 and 11, respectively.
Code:
>M01596:22:000000000-A7YH7:1:1101:16615:1070 2:N:0:1
CAAGGTATTATAAGCCGTACAGGTGCCGTCGCGTACTCGCGTGAAACTCCTATCCTCTCCTGCTCGGCATTCGAATTCAGGTCGTGCT
>M01596:22:000000000-A7YH7:1:1101:19605:1070 2:N:0:1
TTCAGAGTAACACCGGAAAGCGTTACCGCTAATTGTTGAGCACGATGCCAATCACGGCGATGTTCGAATTATTGTTGTGCTCGCTACA
>M01596:22:000000000-A7YH7:1:1101:9956:1070 2:N:0:1
GCCGGGCAATAATGTTTATGTTGGTTTCATGGTTTGGTCTAACTTTACCGCTACTAAATGCCGCGGATTGGTTTCGCTGAATCAGGTT
>M01596:22:000000000-A7YH7:1:1101:21195:1071 2:N:0:1
NTCCTCAAGGCGTCAGTATTGTTGAAGTTGTGTCCATCAGGGAGGTGACAATGAATTTCTGCTGTGCTCGCTACAGACTCGGACAGATC
>M01596:22:000000000-A7YH7:1:1101:12710:1082 2:N:0:1
TCAAATCCGGCGTCAACCATACCAGCAGAGGAAGCATCAGCACCAGCACGCTCCCAAGCATTAAGCTCAGGAAATGCAGCAGCAAGAT
>M01596:22:000000000-A7YH7:1:1101:21487:1088 2:N:0:1
NNGAGAGGCCGGGGCATTTTCCGCTGCGGTTGGGACGGGAGAGGCCAGGGGCGTGCCATCGAGCACTACTGGAGAAAAATGATCTTTGCT
>M01596:22:000000000-A7YH7:1:1101:11107:1088 2:N:0:1
TCGCTGCGTTGAGGCTTGCGTTTATGGTACGCTGGACTTTGTAGGATACCCTCGCTTTCCTGCTCCTGTTGAGTTTATTGCTGCCGTC


The output file i would like to have is as follows:
Code:
>M01596:22:000000000-A7YH7:1:1101:16615:1070 2:N:0:1
CAAGGTATTATAAGCCGTACAGGTGCCGTCGCGTACTCGCGTGAAACTCCTATCCTCTCCTGCTCGGCATTCGAATTCAGGTCGTGCT
>M01596:22:000000000-A7YH7:1:1101:19605:1070 2:N:0:1
TTCAGAGTAACACCGGAAAGCGTTACCGCTAATTGTTGAGCACGATGCCAATCACGGCGATGTTCGAATTATTGTTGTGCTCGCTACA
>M01596:22:000000000-A7YH7:1:1101:9956:1070 2:N:0:1
GCCGGGCAATAATGTTTATGTTGGTTTCATGGTTTGGTCTAACTTTACCGCTACTAAATGCCGCGGATTGGTTTCGCTGAATCAGGTT
>M01596:22:000000000-A7YH7:1:1101:12710:1082 2:N:0:1
TCAAATCCGGCGTCAACCATACCAGCAGAGGAAGCATCAGCACCAGCACGCTCCCAAGCATTAAGCTCAGGAAATGCAGCAGCAAGAT
>M01596:22:000000000-A7YH7:1:1101:11107:1088 2:N:0:1
TCGCTGCGTTGAGGCTTGCGTTTATGGTACGCTGGACTTTGTAGGATACCCTCGCTTTCCTGCTCCTGTTGAGTTTATTGCTGCCGTC

Thanks in advance.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete lines starting with XX or YY or ZZ or ....

Hi There! My final task for today is to delete lines starting with certain numbers for e.g., my text block is and i want to delete all lines starting with 11 or 17 or 21 I know i can use multiple sed commands like sed '/^11,/d' <filename> sed '/^17,/d' <filename> sed '/^21,/d'... (2 Replies)
Discussion started by: orno
2 Replies

2. Shell Programming and Scripting

Concatenate lines between lines starting with a specific pattern

Hi, I have a file such as: --- >contig00001 length=35524 numreads=2944 gACGCCGCGCGCCGCGGCCAGGGCTGGCCCA CAGGCCGCGCGGCGTCGGCTGGCTGAG >contig00002 length=4242 numreads=43423 ATGCCGAAGGTCCGCCTGGGGCTGG CGCCGGGAGCATGTAGCG --- I would like to concatenate the lines not starting with ">"... (9 Replies)
Discussion started by: s052866
9 Replies

3. Shell Programming and Scripting

substitute a string on a specific position for specific lines

I woud like to substitue a string on a specific position for specific lines I've got a file and I would like to change a specific string from "TOCHANGE" to "ABCABCAB" For every line (except 1,2, 3 and the last one) , I need to check between the 9th and the 16th digits. For the 3rd line, I... (7 Replies)
Discussion started by: BSF
7 Replies

4. Shell Programming and Scripting

delete lines starting with a pattern

i have a file sample.txt containing i want to delete lines starting with 123 neglecting spaces and tabs. but not lines containing 123. i.e. i want files sample.txt as help me thanxx (4 Replies)
Discussion started by: yashwantkumar
4 Replies

5. Shell Programming and Scripting

Delete multiple lines starting with a specific pattern

Hi, just tried some script, awk, sed for the last 2 hours and now need help. Let's say I have a huge file of 800,000 lines like this : It's a tedious job to look through it, I'd like to remove those useless lines in it as there's a few thousands : Or to be even more precise : if line1 =... (6 Replies)
Discussion started by: Zurd
6 Replies

6. Shell Programming and Scripting

Delete lines starting with these strings

Platform : RHEL 5.8 I have text file called myapplication.log . In this file, I have around 800 lines which start with the followng three strings PWRBRKER-3493 PWRBRKER-7834 SCHEDULER-ERROR How can I delete these lines in one go ? (13 Replies)
Discussion started by: omega3
13 Replies

7. Shell Programming and Scripting

Grep a string and count following lines starting with another string

I have a large dataset with following structure; C 0001 Carbon D SAR001 methane D SAR002 ethane D SAR003 propane D SAR004 butane D SAR005 pentane C 0002 Hydrogen C 0003 Nitrogen C 0004 Oxygen D SAR011 ozone D SAR012 super oxide C 0005 Sulphur D SAR013... (3 Replies)
Discussion started by: Syeda Sumayya
3 Replies

8. Shell Programming and Scripting

Replacing whole string starting with specific works

Hi guys, So what I am trying to accomplish is to replace a whole string starting with some designated string. eg: When even I find a string starting with : eai.endpoint.url= replace the entire line with: eai.endpoint.url=http://www.endpoint.com/API Righ now I am trying to... (4 Replies)
Discussion started by: Junaid Subhani
4 Replies

9. Shell Programming and Scripting

Delete all lines starting with # character

Tool used : VIM editor that comes with RHEL 7.4 I have a file like below. It has around 300 lines like below. All the lines starting with # are comments. For readability, I removed all lines starting with # from vi (vim editor) using the command :g/^#/d . It seemed to have worked. But, which... (8 Replies)
Discussion started by: John K
8 Replies

10. Shell Programming and Scripting

Delete all lines except a line starting with string

Shell : bash OS : RHEL 6.8 I have a file like below. $ cat pattern.txt hello txt1 txt2 txt3 some other text txt4 I want to remove all lines in this file except the ones starting with txt . How can I do this ? (4 Replies)
Discussion started by: omega3
4 Replies
SVN::Web::DiffParser(3pm)				User Contributed Perl Documentation				 SVN::Web::DiffParser(3pm)

NAME
SVN::Web::DiffParser - Parse patch files containing unified and standard diffs NOTE
This is Text::Diff::Parser, plus some local bug fixes that were exposed by use with SVN::Web. For more details about Text::Diff::Parser please see CPAN. SYNOPSIS
use SVN::Web::DiffParser; # create the object my $parser = SVN::Web::DiffParser->new(); # With options $parser = SVN::Web::DiffParser->new( Simplify=>1, # simplify the diff Strip=>2 ); # strip 2 directories # Create object. Parse $file $parser = SVN::Web::DiffParser->new( $file ); $parser = SVN::Web::DiffParser->new( File=>$file ); # Create object. Parse text my $parser = SVN::Web::DiffParser->new( $text ); $parser = SVN::Web::DiffParser->new( Diff=>$text ); # parse a file $parser->parse_file( $filename ); # parse a string $parser->parse( $text ); # Remove no-change lines. Combine line substitutions $parser->simplify; # Find results foreach my $change ( $parser->changes ) { print "File1: ", $change->filename1; print "Line1: ", $change->line1; print "File2: ", $change->filename2; print "Line2: ", $change->line2; print "Type: ", $change->type; my $size = $change->size; foreach my $line ( 0..($size-1) ) { print "Line: ", $change->line( $size ); } } # In scalar context, returns the number of changes my $n = $parser->changes; print "There are $n changes", # Get the changes to a given file my @changes = $parser->changes( 'Makefile.PL' ); # Get list of files changed by the diff my @files = $parser->files; DESCRIPTION
"SVN::Web::DiffParser" parses diff files and patches. It allows you to access the changes to a file in a standardized way, even if multiple patch formats are used. A diff may be viewed a series of operations on a file, either adding, removing or modifying lines of one file (the "from-file") to produce another file (the "to-file"). Diffs are generally produced either by hand with diff, or by your version control system ("cvs diff", "svn diff", ...). Some diff formats, notably unified diffs, also contain null operations, that is lines that "SVN::Web::DiffParser" currently parses unified diff format and standard diff format. Unified diffs look like the following. --- Filename1 2006-04-12 18:47:22.000000000 -0400 +++ Filename2 2006-04-12 19:21:16.000000000 -0400 @@ -1,4 +1,6 @@ ONE TWO -THREE +honk FOUR +honk +honk Standard diffs look like the following. diff something something.4 3c3 < THREE --- > honk 4a5,6 > honk > honk The diff line isn't in fact part of the format but is necessary to find which files the chunks deal with. It is output by "cvs diff" and "svn diff" so that isn't a problem. METHODS
new $parser = SVN::Web::DiffParser->new; $parser = SVN::Web::DiffParser->new( $file ); $parser = SVN::Web::DiffParser->new( $handle ); $parser = SVN::Web::DiffParser->new( %params ); $parser = SVN::Web::DiffParser->new( \%params ); Object constructor. Diff String that contains a diff. This diff will be parse before "new" returns. File File name or file handle that is parsed before "new" returns. Simplify Simplifying a patch involves dropping all null-operations and converting and remove operation followed by an add operation (or an add followed by a remove) of the same size on the same lines into a modify operation. Strip Strip N leading directories from all filenames. Less then useful for standard diffs produced by "cvs diff", because they don't contain directory information. Verbose If true, print copious details of what is going on. parse_file $parser->parse_file( $file ); $parser->parse_file( $handle ); Read and parse the file or file handle specified. Will "die" if it fails, returns true on success. Contents of the file may then be accessed with "changes" and "files". parse $parser->parse( $string ); Parses the diff present in $string. Will "die" if it fails, returns true on success. Contents of the file may then be accessed with "changes" and "files". files %files = $parser->files; Fetch a list of all the files that were referenced in the patch. The keys are original files ("from-file") and the values are the modified files ("to-file"). changes @changes = $parser->changes; $n = $parser->changes; @changes = $parser->changes( $file ); $n = $parser->changes( $file ); Return all the operations (array context) or the number of operations in the patch file. If $file is specified, only returns changes to that file ("from-file" or "to-file"). Elements of the returned array are change objects, as described in "CHANGE METHODS" below. CHANGE METHODS
The "changes" method returns an array of objects that describe each operation. You may use the following methods to find out details of the operation. type Returns the type of operation, either 'ADD', 'REMOVE', 'MODIFY' or '' (null operation). filename1 Filename of the "from-file". filename2 Filename of the "to-file". line1 Line in the "from-file" the operation starts at. line2 Line in the "to-file" the operation starts at. size Number of lines affected by this operation. text @lines = $ch->text; $line = $ch->text( $N ); Fetch the text of the line $N if present or all lines of affected by this operation. For '' (null) and 'REMOVE' operations, these are the lines present before the operation was done ('from-file'. For 'ADD' and 'MODIFY' operations, these are the lines present after the operation was done ('to-file'. BUGS
I'm not 100% sure of standard diff handling. Missing support for context diffs. SEE ALSO
Text::Diff, Arch, diff. AUTHOR
Philip Gwyn, <gwyn-at-cpan.org> COPYRIGHT AND LICENSE
Copyright (C) 2006 by Philip Gwyn This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available. perl v5.14.2 2012-06-11 SVN::Web::DiffParser(3pm)
All times are GMT -4. The time now is 08:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy