Sponsored Content
Top Forums Shell Programming and Scripting sed help - delete last 2 lines. Post 73253 by vino on Monday 30th of May 2005 10:15:11 AM
Old 05-30-2005
sed help - delete last 2 lines.

I have been reading through the sed one liners, trying to understand what is happening.

Code:
# delete the last 2 lines of a file
sed 'N;$!P;$!D;$d'

The above will delete the last 2 line of a file. I tried analyzing what happens. And I got lost Smilie

This is what I understood so far from the above.

N; Read the complete file into the pattern-space.
$!P; Print upto last but one line.
$!D; Delete upto the last-but one line Smilie
$d Delete the last line in the pattern-space.

What is wrong in my analysis ? Please explain what the sed script does ?

Thanks,
Vino

Last edited by vino; 05-31-2005 at 07:18 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 lines containing text with sed

hello all I have bunch of files containing lines of text that surrounding by <# .......#> tags I like to delete this lines from the text files whiteout open the files , can it be done with sed ? or other unix tool (perl mybe )? (2 Replies)
Discussion started by: umen
2 Replies

3. Shell Programming and Scripting

delete blank lines with sed

I have a text file with blank lines fullfilled with spaces and others only containing the "Enter" caracter, the \012. I would like to eliminate all them with the sed command. Is it possible? making: sed '/^$/d' <file should delete the blank lines but doesn't work for the lines that only... (2 Replies)
Discussion started by: tmxps
2 Replies

4. Shell Programming and Scripting

sed problem - delete all lines until a match on 2 lines

First of all, I know this can be more eassily done with perl or other scripting languages but, that's not the issue. I need this in sed. (or wander if it's possible ) I got a file (trace file to recreate the control file from oracle for the dba boys) which contains some lines another line... (11 Replies)
Discussion started by: plelie2
11 Replies

5. Shell Programming and Scripting

Using SED to delete some lines from file

Hi All, I have one /etc/hosts.equiv file which has following entries ########## wcars42g admin wcars42b netmgr wcars42b oemssrvr wcars42f admin wcars42f netmgr wcars42f oemssrvr ########## I am trying to delete lines starting from wcars42b.... (1 Reply)
Discussion started by: akash_mahakode
1 Replies

6. Shell Programming and Scripting

Sed to delete lines that with the following

Hi, I'm very new to Sed and I have a very large file that contains data in the following way (*064) 1 4 10 (*064) simulation time = 0.12000E-05 (*064) 1 2 10 (*064) 1 3 10Essentially what I want to do it delete every line that starts with '(*064) 1'I tried the following, ... (2 Replies)
Discussion started by: lost.identity
2 Replies

7. Shell Programming and Scripting

Delete lines with SED in Bash?

Hello everyone I'm doing a program in bash and wanted to know how can I do to delete document lines the words not ending in S with SED, ie, show only those ending with the letter S. I probe with: sed -e /$.*/d "$file" | more to delete all lines NOT ending in S but not work!... (3 Replies)
Discussion started by: adiegorpc
3 Replies

8. Shell Programming and Scripting

How to delete lines using sed?

<VirtualHost 192.168.1.158:80> DocumentRoot /home/ten ServerName ten.com </VirtualHost> <VirtualHost 192.168.1.158:80> DocumentRoot /home/sachin ServerName sachin.com </VirtualHost> <VirtualHost 192.168.1.158:80> DocumentRoot /home/yuvraj ServerName yuvraj.com... (5 Replies)
Discussion started by: tkmmelvin
5 Replies

9. Shell Programming and Scripting

Sed/awk to delete single lines that aren't touching other lines

Hello, I'm trying to figure out how to use sed or awk to delete single lines in a file. By single, I mean lines that are not touching any other lines (just one line with white space above and below). Example: one two three four five six seven eight I want it to look like: (6 Replies)
Discussion started by: slimjbe
6 Replies

10. Shell Programming and Scripting

sed or awk: delete n lines following a formfeed

Hi Members, This is my first post in this forum. I want to do is match form feed lines one by one in a file and delete the next n lines (ex-3 lines) with the form feed character Eg - Files looks like Data 1 Data 2 Data 3 FF Hdr1 Hdr2 Hdr3 Data4 Data5 FF Hdr1 Hdr2 Hdr3 (9 Replies)
Discussion started by: yohan
9 Replies
SHTOOL-SUBST.TMP(1)					      GNU Portable Shell Tool					       SHTOOL-SUBST.TMP(1)

NAME
shtool-subst - GNU shtool sed(1) substitution operations SYNOPSIS
shtool subst [-v|--verbose] [-t|--trace] [-n|--nop] [-w|--warning] [-q|--quiet] [-s|--stealth] [-i|--interactive] [-b|--backup ext] [-e|--exec cmd] [-f|--file cmd-file] [file] [file ...] DESCRIPTION
This command applies one or more sed(1) substitution operations to stdin or any number of files. OPTIONS
The following command line options are available. -v, --verbose Display some processing information. -t, --trace Enable the output of the essential shell commands which are executed. -n, --nop No operation mode. Actual execution of the essential shell commands which would be executed is suppressed. -w, --warning Show warning on substitution operation resulting in no content change on every file. The default is to show a warning on substitution operations resulted in no content change on all files. -q, --quiet Suppress warning on substitution operation resulting in no content change. -s, --stealth Stealth operation. Preserve timestamp on file. -i, --interactive Enter interactive mode where the user has to approve each operation. -b, --backup ext Preserve backup of original file using file name extension ext. Default is to overwrite the original file. -e, --exec cmd Specify sed(1) command directly. -f, --file cmd-file Read sed(1) command from file. EXAMPLE
# shell script shtool subst -i -e 's;(c) ([0-9]*)-2000;(c) 1-2001;' *.[ch] # RPM spec-file %install shtool subst -v -n -e 's;^(prefix=).*;1 $RPM_BUILD_ROOT%{_prefix};g' -e 's;^(sysconfdir=).*;1 $RPM_BUILD_ROOT%{_prefix}/etc;g' `find . -name Makefile -print` make install HISTORY
The GNU shtool subst command was originally written by Ralf S. Engelschall <rse@engelschall.com> in 2001 for GNU shtool. It was prompted by the need to have a uniform and convenient patching frontend to sed(1) operations in the OpenPKG package specifications. SEE ALSO
shtool(1), sed(1). 18-Jul-2008 shtool 2.0.8 SHTOOL-SUBST.TMP(1)
All times are GMT -4. The time now is 12:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy