Sponsored Content
Top Forums Shell Programming and Scripting Sed; insert text two lines above match Post 302960460 by RudiC on Monday 16th of November 2015 04:51:40 AM
Old 11-16-2015
Code:
awk '
                {B[NR%3]=$0}                    # use a circular 3 line buffer (B array) for delayed printing
NR>2            {print B[(NR+1)%3]}             # from line three, print line No. - 2 (acquaint yourself with the "%" modulo function)
/SEPARATOR/     {print "# v0006 - New text"}    # if the search string is found, print the text after the text of 2 lines ago
END             {print B[(NR+2)%3]              # just empty the buffer when input is done
                 print B[(NR+3)%3]
                }
' file


Last edited by RudiC; 11-16-2015 at 06:29 AM..
This User Gave Thanks to RudiC For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need to insert new text and change existing text in a file using SED

Hi all, I need to insert new text and change existing text in a file. For that I used the below line in the command line and got the expected output. sed '$a\ hi... ' shell > shell1 But I face problem when using the same in script. It is throwing the error as, sed: command garbled:... (4 Replies)
Discussion started by: iamgeethuj
4 Replies

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

3. Shell Programming and Scripting

Insert text file only after the first match with SED

Hello, I'm new in Shell scripting but i should write a script, which inserts the license header out of a txt-File into the files in our Projekt. For the Java classes it runs without Problems but for XML files not. At xml-files i have to put the license Header after the xml-Header (?xml... (1 Reply)
Discussion started by: PhoenixONE
1 Replies

4. Shell Programming and Scripting

Insert few lines above a match using sed, and within a perl file.

Greetings all, I am trying to match a string, and after that insert a few lines above that match. The string is "Version 1.0.0". I need to insert a few lines ONLY above the first match (there are many Version numbers in the file). The rest of the matches must be ignored. The lines I need to... (2 Replies)
Discussion started by: nagaraj s
2 Replies

5. Shell Programming and Scripting

sed insert text 2 lines above pattern

Hi I am trying to insert a block of text 2 lines above a pattern match using sed eg #Start of file entry { } #End of file entry new bit of text has to be put in just above the } eg #Start of file entry { New bit of text } #End of file entry (7 Replies)
Discussion started by: eeisken
7 Replies

6. Shell Programming and Scripting

How to insert line with between two consecutive lines that match special pattern?

I have following pattern in a file: 00:01:38 UTC abcd 00:01:48 UTC 00:01:58 UTC efgh 00:02:08 UTC 00:02:18 UTC and I need to change something like the following 00:01:38 UTC abcd 00:01:48 UTC XXXX 00:01:58 UTC efgh 00:02:08 UTC XXXX (6 Replies)
Discussion started by: jjnight
6 Replies

7. Shell Programming and Scripting

Using sed to insert text between lines

Hello, I am trying to insert a section of text between lines in another text file. The new lines to be inserted are: abcd.efgh.zzzz=blah abcd.efgh.xxxx=blah Where N = 0 to 2 Original File: abcd.efgh.wwxx=aaaaa abcd.efgh.yyzz=bbbbb abcd.efgh.wwxx=aaaaa abcd.efgh.yyzz=bbbbb... (3 Replies)
Discussion started by: tsu3000
3 Replies

8. Shell Programming and Scripting

Search a certain char and insert new text if a match found

Have a file which has the create statement like below create table emp ( empno integer, empname char(50)) primary index(empno); i need to find a string starting with create and ends with semi-colon ;. if so insert the below statement before create statement rename table emp to emp_rename;... (2 Replies)
Discussion started by: Mohan0509
2 Replies

9. Shell Programming and Scripting

Insert text after match in XML file

Having a little trouble getting this to work just right. I have xml files that i want to split some data. I have 2 <name> tags within the file I would like to take only the first tag and split the data. tag example. From this. TAB<Name>smith, john</Name> to TAB<Name>smith,... (8 Replies)
Discussion started by: whegra
8 Replies

10. Shell Programming and Scripting

Match text to lines in a file, iterate backwards until text or text substring matches, print to file

hi all, trying this using shell/bash with sed/awk/grep I have two files, one containing one column, the other containing multiple columns (comma delimited). file1.txt abc12345 def12345 ghi54321 ... file2.txt abc1,text1,texta abc,text2,textb def123,text3,textc gh,text4,textd... (6 Replies)
Discussion started by: shogun1970
6 Replies
PSERVER(1)							      pserver								PSERVER(1)

NAME
pserver - NetWare print server SYNOPSIS
pserver [ -S server ] [ -h ] [ -U user name ] [ -P password | -n ] [ -C ] [ -q queue name ] [ -c command ] [ -j job type ] [ -t timeout ] [ -d ] DESCRIPTION
pserver is a program that connects to print queues on NetWare servers and feeds incoming print jobs to the Linux printing system. OPTIONS
-h -h is used to print out a short help text. -S server server is the name of the server you want to use. -U user user is the print server name at the server. -P password password is the password to use for the print server at the server. If neither -n nor -P are given, and the user has no open connection to the server, pserver prompts for a password. -n -n should be given if the print server does not require a password. -C By default, passwords are converted to uppercase before they are sent to the server, because most servers require this. You can turn off this conversion by -C. -q queue name queue name is the name of the print queue you want to service. -c command When a job is received from the print queue, pserver forks off a new process, and feeds the job file to stdin. command is the printing command that is executed for each job. The default command is 'lpr'. You can insert several flags into the command, preceded by %. These are replaced with values retrieved from the queue structure for the print job. %u: This field will be replaced by the name of the user who posted this print job. %d: This field will be replaced by the job description field of this print job. -j job type Each job in a NetWare print queue has a job type. For print jobs, this corresponds to the number of the form the job should be printed on. You can tell pserver that it should only receive jobs for one specific form from the queue. The default is -1, which means that everything is received. -t timeout Pserver is not informed by NetWare servers when new jobs arrive. So a polling scheme has to be used. When there are no jobs to service, timeout tells pserver how long to wait between two requests. The default is 30 seconds. When a job is finished, pserver asks the NetWare server immediately for a new job, and does not wait timeout seconds. -d Normally, pserver daemonizes itself. -d tells it not to do so. This is useful if you want to see the diagnostic messages that are printed when a error occurs. SEE ALSO
nwclient(5), slist(1), pqlist(1), ncpmount(8), ncpumount(8) CREDITS
pserver was written by Volker Lendecke (lendecke@math.uni-goettingen.de) pserver 10/22/1996 PSERVER(1)
All times are GMT -4. The time now is 09:23 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy