SED text edit help needed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting SED text edit help needed
# 1  
Old 07-11-2007
Question SED text edit help needed

Could someone please tell me how to delete all lines above a line which contains a particular string? (possibly using SED command)
I know how to do this if the target string appears in only one line of file but when it appears in multiple lines it only deletes from the first line which the string appears to the top line. I want it to delete from the last line which the string appears to the top line.


e.g I have the file below which contains 8 lines:

Code:
$ cat file.txt
a
b
c
d
a
b
c
d
$

I want to delete everything above the line with the charater "b" to get the below:

Code:
c
d

I tried with the command below but it only deleted line from the top to the first line which contains the charater "b"

sed '1,/b/d' file.txt

Regards,
Steve
# 2  
Old 07-11-2007
not 'exactly' sed (could not make sed 'greedy' enough), but:
Code:
nawk -v pat='b' '$0 ~ pat { a=""; next}; {a=(!length(a) ? $0 : a RS $0) }; END { print a }' myFile.txt


Last edited by vgersh99; 07-11-2007 at 03:16 AM..
# 3  
Old 07-11-2007
Code:
sed -n -e ":a" -e "$ p;N;/b/d;b a" file

# 4  
Old 07-11-2007
Thanx anbu23 and vgersh99!!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to edit a text file

hi, could someone share a short script that would process a .txt file and do the following, for example the text file has this form 0:1.0 1:1.0 2:2.0 3:3.0 4:4.0 5:5.0 6:6.0 7:7.0 8:8.0 ... {newline} 9:9.0 10:10.0 11:11.0 12:12.0 13:13.0 14:14.0 15:15.0 16:16.0 17:17.0 ... {newline} and I... (3 Replies)
Discussion started by: c_lady
3 Replies

2. Shell Programming and Scripting

Edit first line of a text file

Hi friends, Issue1: I have a text file with the first line like this #chrom start end Readcount_A Normalized_Readcount_A ReadcountB Normalized_Readcount_B Fc_A_vs_B pvalue_A_vs_B FDR_A_vs_B Fc_B_vs_A pvalue_B_vs_A FDR_B_vs_A <a href="http://unix.com/">Link</a> How can I change it to the... (11 Replies)
Discussion started by: jacobs.smith
11 Replies

3. Shell Programming and Scripting

edit sed command

how can i make this sed command run faster? sed '51000000,51347442!d' file and sed '51347442,$ !d' file File is a 9GB in size. it runs on sunos 5.10 and linux red hat 6 servers and i use bash. (5 Replies)
Discussion started by: SkySmart
5 Replies

4. Shell Programming and Scripting

Edit Text

Hi everyone , i am new in shell scripting and i want to do a simple job. A have in a file a text that looks like : 4770 maniac 20 0 13680 312 240 S 0.0 0.0 0:00.00 pro 4770 maniac 20 0 23448 312 240 S 0.0 0.0 0:00.00 pro 4770 maniac 20 0 33216 312 240 S 0.0 0.0 0:00.00 pro and i want to... (2 Replies)
Discussion started by: pcmaniac
2 Replies

5. Shell Programming and Scripting

Text editing script does everything but edit text.

I wrote this script to create and edit a large number of websites based on a template site and a collection of text files which have the relevant strings in them delimited by colons. I run it and the shell doesn't produce any errors, but when it gets to the for loop where it actually has to edit... (2 Replies)
Discussion started by: afroCluster
2 Replies

6. UNIX for Dummies Questions & Answers

edit this text file

hi, i need to remove the first column (and dash) from this text file. Is there any unix command allowing me to do it ? 1-16 2-28 3-16 4-20 5- 8 6-32 7-19 8-16 9-27 10- 7 11-14 12-18 thanks (2 Replies)
Discussion started by: aneuryzma
2 Replies

7. Shell Programming and Scripting

Edit other than the first and last record of a text file

Hello, I have to add the string "YES" to the end of all records of files in a dir other than the first(header) and the last(trailer) record. viz, the first and the last record in a file has to be identified and exempted from the edit. I tried an awk script. But there seems to be no direct... (8 Replies)
Discussion started by: rogersed
8 Replies

8. UNIX for Dummies Questions & Answers

Help needed to edit my crontab

Hi, I am new to Unix. I have written a script in Unix. I wanted to schedule this script in cronjobs which has to be run daily at 10AM. Already i have some cron jobs running on my unix server. In addition to these I have to edit the crontab. I know I have to execute the command "crontab -e" to... (9 Replies)
Discussion started by: Sheethal
9 Replies

9. Shell Programming and Scripting

need one liner to edit this text...

# cat test mpath0:253:8:L--w:0:1:2:mpath-2000b080008002158 mpath19:253:7:L--w:0:1:1:mpath-2000b080013002158 mpath21:253:9:L--w:0:1:0:mpath-2000b080015002158 mpath18:253:6:L--w:0:1:1:mpath-2000b080012002158 mpath12:253:1:L--w:0:1:2:mpath-2000b080009002158 # The above is the i/p and the... (3 Replies)
Discussion started by: ilan
3 Replies

10. Shell Programming and Scripting

Simple SED edit

I have output like the following: B D 20070116095820001 N D S0000579.LOG S0000582.LOG B D 20070116095750001 N D S0000574.LOG S0000576.LOG B D 20070116095734001 N D S0000570.LOG S0000573.LOG B D 20070116095705001 N D S0000569.LOG S0000569.LOG B D ... (5 Replies)
Discussion started by: rdudejr
5 Replies
Login or Register to Ask a Question