adding new line after finding specific text


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting adding new line after finding specific text
# 1  
Old 06-05-2009
adding new line after finding specific text

hello i need some help here are the contents of my file.

test.txt

this is filename 1.mp3 http://www.url.com/filenamehashed
filename 2.mp3 http://www.url.com/fileamehashed
something_else.zip http://www.url.com/filenamehashed

so this file has 100 of these lines
filename url

I would like to alter this file so the output is this:
filename
url
empty space
filename
url
emptyspace
filename
url
emptyspace
etc etc


how would i go about doing this? one liners would be perfect.

thank you for your help
# 2  
Old 06-06-2009
you can use awk
Code:
awk '{printf "%s\n%s\n\n",$1,$2}' inputfile

# 3  
Old 06-06-2009
Quote:
Originally Posted by vidyadhar85
you can use awk
Code:
awk '{printf "%s\n%s\n\n",$1,$2}' inputfile

the file names contains spaces as shown in his sample, therefore using $1 and $2 might not be appropriate.

@OP, if you have Python, an alternative solution
Code:
#!/usr/bin/env python
for line in open("file"):
    line=line.strip().split()
    filename = ' '.join(line[:-1])
    url=line[-1]
    print filename
    print url
    print

output
Code:
# ./test.py
this is filename 1.mp3
http://www.url.com/filenamehashed

filename 2.mp3
http://www.url.com/fileamehashed

something_else.zip
http://www.url.com/filenamehashed

# 4  
Old 06-06-2009
With sed:

Code:
cat infile 
this is filename 1.mp3 http://www.url.com/filenamehashed
filename 2.mp3 http://www.url.com/fileamehashed
something_else.zip http://www.url.com/filenamehashed
% sed 's|\(.*\)\(http://.*\)|\1\
\2\
|' infile
this is filename 1.mp3 
http://www.url.com/filenamehashed

filename 2.mp3 
http://www.url.com/fileamehashed

something_else.zip 
http://www.url.com/filenamehashed

# 5  
Old 06-07-2009
thank you all for your ideas and replies..

i tried the sed one

sed 's|\(.*\)\(http://.*\)|\1\\2\|' test.txt
sed: -e expression #1, char 29: unterminated `s' command


is my syntax wrong?

Last edited by mscice; 06-07-2009 at 07:46 AM..
# 6  
Old 06-07-2009
you did a typo error look closely what radoulove written
full code is not written in single line
# 7  
Old 06-08-2009
perl:

Code:
while(<DATA>){
	my @tmp=split(/ (?=http.*)/,$_);
	print $tmp[0],"\n";
	print $tmp[1];
	print "\n";
	
}
__DATA__
this is filename 1.mp3 http://www.url.com/filenamehashed
filename 2.mp3 http://www.url.com/fileamehashed
something_else.zip http://www.url.com/filenamehashed

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Adding a new line after a specific line with sed

Hi All, My requirement is to add a specific line in a file after a certain line that contains 'setenv' the existing code is like setenv SEQFILES "/ConvWrk/inteng03/alltars/bnymais1" LIBDEF scope='JOB' type='PGM' dataset='SUNAR.PJ90000P.JOBLIB'... (5 Replies)
Discussion started by: gotamp
5 Replies

2. Shell Programming and Scripting

Adding a text in the beginning of a line

Hi, I am doing something like below: cat file1>file3and cat file2>>file3 I wanted to check if there is a way to write a custom message(hardcoded message)something like below at the beginning of each line then PIPE delimitiation and then followed by remaining record. cat file1... (7 Replies)
Discussion started by: Saanvi1
7 Replies

3. Shell Programming and Scripting

Adding text to the end of the specific line in a file(only to the first occurrence of it)

Hi, I want to add a text to the end of the specific line in a file. Now my file looks like this: 999 111 222 333 111 444 I want to add the string " 555" to the end of the first line contaning 111. Moreover, I want to insert a newline after this line containg the "000" string. The... (8 Replies)
Discussion started by: wenclu
8 Replies

4. UNIX for Dummies Questions & Answers

Adding tags to a specific column of a space delimited text file

I have a space delimited text file with two columns. I would like to add NA to the first column of the text file. Input: 19625 10.4791768259 19700 10.8146489183 19701 10.9084026759 19702 10.9861346978 19703 10.9304364984 Output: NA19625 10.4791768259 NA19700 10.8146489183... (1 Reply)
Discussion started by: evelibertine
1 Replies

5. Shell Programming and Scripting

help with finding text and deleting line

HI All, I need to search for a particular pattern input by the user in order to delete the line. My username.txt has username@email.com:John:149.0.3.4:1 username1@email.com:Harry:149.0.3.4:1 username1@email.net:Alex:149.0.3.4:1 username1@email.edu:Nemo:149.0.3.4:1 The program i written ... (3 Replies)
Discussion started by: ichar
3 Replies

6. Shell Programming and Scripting

[bash help]Adding multiple lines of text into a specific spot into a text file

I am attempting to insert multiple lines of text into a specific place in a text file based on the lines above or below it. For example, Here is a portion of a zone file. IN NS ns1.domain.tld. IN NS ns2.domain.tld. IN ... (2 Replies)
Discussion started by: cdn_humbucker
2 Replies

7. Shell Programming and Scripting

add newline in file after finding specific text

Hi All, I am tring to insert a newline with "/" in a text file whenever there is the text "end;" right now I have inside file: . . end; I want to have: . . end; / I tried doing the following within the file :g/^end;/s//end; \/ / (4 Replies)
Discussion started by: jxh461
4 Replies

8. Shell Programming and Scripting

Adding specific text and spaces to each line in a text file

Hi, I wanted to add specific text to each row in a text file containing three rows. Example: 0 8 7 6 5 5 7 8 9 0 7 9 7 8 9 0 1 2 And I want to add a 21 at the beginning of the first row, and blank spaces at the beginning of the second two rows. To get this: 21 0 8 7 6 5 5 7 8... (4 Replies)
Discussion started by: hertingm
4 Replies

9. Shell Programming and Scripting

Adding a columnfrom a specifit line number to a specific line number

Hi, I have a huge file & I want to add a specific text in column. But I want to add this text from a specific line number to a specific line number & another text in to another range of line numbers. To be more specific: lets say my file has 1000 lines & 4 Columns. I want to add text "Hello"... (2 Replies)
Discussion started by: Ezy
2 Replies

10. Shell Programming and Scripting

Adding Text To each line of a file

How would I add text to the beginning of each line in a text file in a script right after the file is created from another text file. (4 Replies)
Discussion started by: cubs0729
4 Replies
Login or Register to Ask a Question