Sponsored Content
Top Forums Shell Programming and Scripting Delete multiple lines in a file Post 302477319 by ctsgnb on Saturday 4th of December 2010 08:32:23 AM
Old 12-04-2010
Code:
awk '/^Hello/{(/..*Hello.*/)?f=1:f=0}(!f){print $0}' infile

could also be shorten
Code:
awk '/^Hello/{f=(/..*Hello.*/)?0:1}f{print $0}' infile

Code:
$ cat tst
Hello jsdqkljklsd gjfdsklgjfdls
jgklfdsgjldfs
gfdsjlkgjkdfs
Hello jsdqkljklsd Hello gjfdsklgjfdls
klggfdjkslgkjlfdsogfjdskl
jgfdskl
jkglfds
Hello jsdqkljklsd Hello jgkfdls
gfdsjhl
jgfkldsjgf
kjglfdksl
Hello jsdqkljklsd gjfdsklgjfdls
jgklfdsgjldfs
Hello jsdqkljklsd gjfdsklgjfdls
jgklfdsgjldfs
Hello jsdqkljklsd Hello jgkfdls
gfdsjhl
Hello jsdqkljklsd gjfdsklgjfdls
jgklfdsgjldfs

blue sections are removed
Code:
$ awk '/^Hello/{(/..*Hello.*/)?f=1:f=0}(!f){print $0}' tst
Hello jsdqkljklsd gjfdsklgjfdls
jgklfdsgjldfs
gfdsjlkgjkdfs
Hello jsdqkljklsd gjfdsklgjfdls
jgklfdsgjldfs
Hello jsdqkljklsd gjfdsklgjfdls
jgklfdsgjldfs
Hello jsdqkljklsd gjfdsklgjfdls
jgklfdsgjldfs

You also could pass "Hello" through a variable (at least it works here below on FreeBDS)

Code:
awk '/^'"$a"'/{f=(/..*'"$a"'.*/)?0:1}f{print $0}' infile

Code:
$ a=Hello
$ awk '/^'"$a"'/{f=(/..*'"$a"'.*/)?0:1}f{print $0}' tst
Hello jsdqkljklsd gjfdsklgjfdls
jgklfdsgjldfs
gfdsjlkgjkdfs
Hello jsdqkljklsd gjfdsklgjfdls
jgklfdsgjldfs
Hello jsdqkljklsd gjfdsklgjfdls
jgklfdsgjldfs
Hello jsdqkljklsd gjfdsklgjfdls
jgklfdsgjldfs
$


Last edited by ctsgnb; 12-04-2010 at 09:45 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete multiple lines w/ sed

Hi all, I am trying to figure out the syntx to delete multiple lines w/ sed. I know the following syntax will delete lines 1 THROUGH 5 from filex: sed 1,5d filex But I wan to delete lines 1 AND 5 (keeping lines 2,3, and 4). Does anyone know how to do this in a single sed statement? ... (2 Replies)
Discussion started by: bookoo
2 Replies

2. Shell Programming and Scripting

delete multiple empty lines

Hi, I need to delete the lines with empty name. What is the best way to do it? Thanks a lot for your help! EMID MMDDYY HOURS JOB EMNAME 0241 051605 11.40 52062 someone 0520 051605 10.63 52062 0520 051605 10.66 52062 0520 051605 10.65 52062 (3 Replies)
Discussion started by: whatisthis
3 Replies

3. Shell Programming and Scripting

Need to delete multiple lines in a file.

Hi, I'm new to this forum, and searched through the previous posts, but didn't see anything close enough to what i'm looking for. I have a radius file like this: testone Password = "11111" Service-Type = "Framed-User", Session-Timeout =... (6 Replies)
Discussion started by: kangdom
6 Replies

4. Shell Programming and Scripting

regex to delete multiple blank lines in a file?

can't figure out a way to delete multiple empty lines but keep single empty lines in a file, file is like this #cat file 1 2 3 4 5 6 - What I want is 1 2 (6 Replies)
Discussion started by: fedora
6 Replies

5. UNIX for Dummies Questions & Answers

delete multiple lines by line number

I have been googling, but cannot find that works for me. I have a text file tmp.out with contents: sadfsdf sdfosuidhfousdhof soduhf osdfu osudfhosudhfd sdfgsdfg asdfiojhsdf asdoludhflsdjfhskldjfhsdjdlfsjdhnlj h sdja ouahsdjdafkljsa oljhljh I have another file... (11 Replies)
Discussion started by: ChicagoBlues
11 Replies

6. Shell Programming and Scripting

Delete multiple lines from a file

Hi, I'm trying to delete some entry's, the source is a file1, from file2 what I have until now is this file1 : 68255706,234200801053269,447916926187,8944200006353029289F 73495477,234200101579319,447861769299,8944200006852033303F file2: 353851164675 NEW : 272050001241889 -ok ... (10 Replies)
Discussion started by: BlueRay86
10 Replies

7. Shell Programming and Scripting

delete multiple lines by line number

I have file with 10000 records and i need to delete the lines in single shot based on line number range say from 10 to 51 , 53 to 59 , 105 to 107, 311 to 592 etc... between range works fine for me but how to achive for above case? please help sed '10,51 {d}' infile > outfile (5 Replies)
Discussion started by: zooby
5 Replies

8. Shell Programming and Scripting

search and replace, when found, delete multiple lines, add new set of lines?

hey guys, I tried searching but most 'search and replace' questions are related to one liners. Say I have a file to be replaced that has the following: $ cat testing.txt TESTING AAA BBB CCC DDD EEE FFF GGG HHH ENDTESTING This is the input file: (3 Replies)
Discussion started by: DeuceLee
3 Replies

9. Shell Programming and Scripting

Removing multiple lines from input file, if multiple lines match a pattern.

GM, I have an issue at work, which requires a simple solution. But, after multiple attempts, I have not been able to hit on the code needed. I am assuming that sed, awk or even perl could do what I need. I have an application that adds extra blank page feeds, for multiple reports, when... (7 Replies)
Discussion started by: jxfish2
7 Replies

10. 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
GLLINESTIPPLE(3G)														 GLLINESTIPPLE(3G)

NAME
glLineStipple - specify the line stipple pattern C SPECIFICATION
void glLineStipple( GLint factor, GLushort pattern ) delim $$ PARAMETERS
factor Specifies a multiplier for each bit in the line stipple pattern. If factor is 3, for example, each bit in the pattern is used three times before the next bit in the pattern is used. factor is clamped to the range [1, 256] and defaults to 1. pattern Specifies a 16-bit integer whose bit pattern determines which fragments of a line will be drawn when the line is rasterized. Bit zero is used first; the default pattern is all 1's. DESCRIPTION
Line stippling masks out certain fragments produced by rasterization; those fragments will not be drawn. The masking is achieved by using three parameters: the 16-bit line stipple pattern pattern, the repeat count factor, and an integer stipple counter $s$. Counter $s$ is reset to 0 whenever glBegin is called, and before each line segment of a glBegin(GL_LINES)/glEnd sequence is generated. It is incremented after each fragment of a unit width aliased line segment is generated, or after each $i$ fragments of an $i$ width line seg- ment are generated. The $i$ fragments associated with count $s$ are masked out if pattern bit $(s ~/~ "factor") ~roman mod~ 16$ is 0, otherwise these fragments are sent to the frame buffer. Bit zero of pattern is the least significant bit. Antialiased lines are treated as a sequence of $1 times width$ rectangles for purposes of stippling. Whether rectangle $s$ is rasterized or not depends on the fragment rule described for aliased lines, counting rectangles rather than groups of fragments. To enable and disable line stippling, call glEnable and glDisable with argument GL_LINE_STIPPLE. When enabled, the line stipple pattern is applied as described above. When disabled, it is as if the pattern were all 1's. Initially, line stippling is disabled. ERRORS
GL_INVALID_OPERATION is generated if glLineStipple is executed between the execution of glBegin and the corresponding execution of glEnd. ASSOCIATED GETS
glGet with argument GL_LINE_STIPPLE_PATTERN glGet with argument GL_LINE_STIPPLE_REPEAT glIsEnabled with argument GL_LINE_STIPPLE SEE ALSO
glLineWidth(3G), glPolygonStipple(3G) GLLINESTIPPLE(3G)
All times are GMT -4. The time now is 02:42 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy