Sponsored Content
Top Forums Shell Programming and Scripting How to delete all lines before a particular pattern when the pattern is defined in a variable? Post 303004088 by drl on Tuesday 26th of September 2017 12:00:41 PM
Old 09-26-2017
Hi.
Quote:
Originally Posted by RudiC
This approach may be more efficient than others for large files and the pattern found towards the end of the file, as tac opens the file from the end (output of strace):
Code:
.
.
.
open("TMPFILE", O_RDONLY)               = 3
lseek(3, 0, SEEK_END)                   = 37790
.
.
.

and, if sed found the pattern and exits, it quits due to a broken pipe
Code:
.
.
.
write(1, "sr/bin/gpgsplit\n26696\t/usr/bin/g"..., 4096) = -1 EPIPE (Broken pipe)
--- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=14645, si_uid=1000} ---

NOT reading the entire input file.
I took a quick look through tac.c\src - coreutils.git - GNU coreutils

The speed-up by seeking to end may be offset somewhat by:
1) In this situation tac is used twice,
2) There is a lot of manipulation going on, including RE matches in some cases,

If we are curious we'd benchmark it, of course Smilie

I still like the simplicity, however, regardless of what happens under the hood ... cheers, drl
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to delete lines do NOT match a pattern

On Unix, it is easy to get those lines that match a pattern, by grep pattern file or those lines that do not, by grep -v pattern file but I am editing a file on Windows with Ultraedit. Ultraedit support regular expression based search and replace. I can delete all the lines that match a... (1 Reply)
Discussion started by: JumboGeng
1 Replies

2. Shell Programming and Scripting

delete lines in file matching a pattern

I have a text file, a sample of which is as follows: r/- * 0: WINDOWS/Microsoft.NET/Framework/v2.0.50727/ASP.NETWebAdminFiles/Images/headerGRADIENT_Tall.gif r/- * 0: WINDOWS/SoftwareDistribution/Download/cf8ec753e88561d2ddb53e183dc05c3e/backoff.jpg r/- * 0: ... (2 Replies)
Discussion started by: stumpyuk
2 Replies

3. Shell Programming and Scripting

Delete Lines between the pattern

Hi All, Below is my requirement. Whatever coming in between ' ', needs to delete. Input File Contents: ============== This is nice 'boy' This 'is bad boy.' Got it Expected Output =========== This is nice This Got it (4 Replies)
Discussion started by: susau_79
4 Replies

4. Shell Programming and Scripting

search the pattern in a file and replace with variable already defined previously in csh

I want to replace a certain pattern with the variable already defined. e.g. set path_verilog = /home/priya/bin/verilogfile my file contents are : verilog new verilog is defined here verilog_path_comes I am using the below command sed 's/verilog_path_comes/'$path_verilog'/g' <filename>... (2 Replies)
Discussion started by: nehashine
2 Replies

5. Shell Programming and Scripting

sed pattern to delete lines containing a pattern, except the first occurance

Hello sed gurus. I am using ksh on Sun and have a file created by concatenating several other files. All files contain header rows. I just need to keep the first occurrence and remove all other header rows. header for file 1111 2222 3333 header for file 1111 2222 3333 header for file... (8 Replies)
Discussion started by: gary_w
8 Replies

6. 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

7. Shell Programming and Scripting

Print/delete the lines between two pattern.

Hello, I am having hard time figuring out how to print/delete the lines between two pattern. Here is the part of the file nastran1.bdf: RBE3 48729 32232 123456 0.30000 123 59786 59787 60114 RBE3 48732 1330 123 0.30000 123 10107... (4 Replies)
Discussion started by: dragomir
4 Replies

8. Shell Programming and Scripting

Delete lines and the first pattern between 2 matched patterns

Hi, i need help to delete all the lines between 2 matched patterns and the first pattern must be deleted too. sample as follows: inputfile.txt >kump_1 ........................... ........................... >start_0124 dgfhghgfh fgfdgfh fdgfdh >kump_2 ............................. (7 Replies)
Discussion started by: redse171
7 Replies

9. Shell Programming and Scripting

sed -- Find pattern -- print remainder -- plus lines up to pattern -- Minus pattern

The intended result should be : PDF converters 'empty line' gpdftext and pdftotext?xml version="1.0"?> xml:space="preserve"><note-content version="0.1" xmlns:/tomboy/link" xmlns:size="http://beatniksoftware.com/tomboy/size">PDF converters gpdftext and pdftotext</note-content>... (9 Replies)
Discussion started by: Klasform
9 Replies

10. UNIX for Beginners Questions & Answers

Delete duplicate like pattern lines

Hi I need to delete duplicate like pattern lines from a text file containing 2 duplicates only (one being subset of the other) using sed or awk preferably. Input: FM:Chicago:Development FM:Chicago:Development:Score SR:Cary:Testing:Testcases PM:Newyork:Scripting PM:Newyork:Scripting:Audit... (6 Replies)
Discussion started by: tech_frk
6 Replies
Chart::Clicker::Renderer::Line(3pm)			User Contributed Perl Documentation		       Chart::Clicker::Renderer::Line(3pm)

NAME
Chart::Clicker::Renderer::Line - Line renderer VERSION
version 2.83 SYNOPSIS
my $lr = Chart::Clicker::Renderer::Line->new( brush => Graphics::Primitive::Brush->new({ #... }) ); DESCRIPTION
Chart::Clicker::Renderer::Line renders a dataset as lines. ATTRIBUTES
additive If true, the lines are drawn "stacked", each key accumulates based on those drawn below it. brush Set/Get a brush to be used for the lines. shape Set a shape object to draw at each of the data points. Adding a shape results in: shape_brush Set/Get the brush to be used on the shapes at each point. If no shape_brush is provided, then the shapes will be filled. The brush allows you to draw a "halo" around each shape. This sometimes help to separate the points from the lines and make them more distinct. METHODS
draw_point Called for each point encountered on the line. AUTHOR
Cory G Watson <gphat@cpan.org> COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Cold Hard Code, LLC. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.14.2 2012-06-22 Chart::Clicker::Renderer::Line(3pm)
All times are GMT -4. The time now is 12:37 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy