Append text to end of line on all lines


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Append text to end of line on all lines
# 1  
Old 11-26-2010
Append text to end of line on all lines

Hi,

I've spent some time researching for this but can't seem to find a solution. I have a file like this
Code:
1234|Test|20101111|18:00|19:00

There will be multiple lines in the file with the same kind of format. For every line I need to make it this
Code:
1234|Test|20101111|18:00|19:00||create schedule.

I tried a simple sed like
Code:
sed -e 's/$/create schedule/g'

but that appends the text at the beginning of the line.

Any help would be greatly appreciated.

Thanks,
Giles

Last edited by Scott; 11-26-2010 at 09:57 AM.. Reason: Please use code tags
# 2  
Old 11-26-2010
Code:
awk '{$0=$0"||create schedule"}1' file

# 3  
Old 11-26-2010
That sed should work.
Code:
sed -e 's/$/||create schedule/g' oldfile newfile

Perhaps your data file is not in correct unix text file format. Did it come from a Microsoft platform?
# 4  
Old 11-26-2010
This should work:
Code:
sed 's/$/||create schedule/' infile

If you get it at the beginning of the line, you need to convert your file from dos to unix format first.
# 5  
Old 11-26-2010
You could:-
Code:
cat ${file}|while read line
do
   echo "${line}||create schedule"
done>file.new

It's a bit slow for larger files though because of all the calls it makes. How about:-
Code:
echo ":%s /$/||create schedule\n:wq"|vi file

Your sed looks right, but it may be a quotation issue that makes the shell assume that the $ is a signal that there is a variable next, but when there isn't on, it assumes start of line. Perhaps you need to escape the $ with
Code:
sed -e 's/\$/create schedule/g'

but I would initially expect that to look for the literal character $ rather than the end of line.

You could perhaps use awk something like:-
Code:
awk '{ print $* "||create schedule"}' file > file.new

I hope that this gives some help.


Robin
Liverpool/Blackburn
UK
# 6  
Old 11-26-2010
Thanks for the replies chaps,

Pesky ^M characters, totally forgot to check for that. Doing a dos2unix first works.

Cheers,
Giles
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed - Find a String and append a text end of the Line

Hi, I have a File, which have multiple rows. Like below 123456 Test1 FNAME JRW#$% PB MO Approver XXXXXX. YYYY 123457 Test2 FNAME JRW#$% PB MO Super XXXXXX. YYYY 123458 Test3 FNAME JRW#$% PB MO Approver XXXXXX. YYYY I want to search a line which contains PB MO Approver and append... (2 Replies)
Discussion started by: java2006
2 Replies

2. Shell Programming and Scripting

Append text to line if begins with pattern1 AND does not end with pattern2

Hello, I'm looking for sed solution to change ... <li>keyword</li> <li>keyword <li>keyword</li> <li>keyword <li>keyword</li> ... to ... <li>keyword</li> <li>keyword</li> <li>keyword</li> <li>keyword</li> <li>keyword</li> ... I.e., if lines beginning with <li> do not end with... (3 Replies)
Discussion started by: pioavi
3 Replies

3. Shell Programming and Scripting

find a certain line and append text to the end of the line

After I create printer queues in AIX, I have to append a filter file location within that printers custom file. within lets say test_queue.txt I need to find the row that starts with :699 and then I need to append on the end the string /usr/local/bin/k_portrait.sh. Now I've gotten the sed... (2 Replies)
Discussion started by: peachclift
2 Replies

4. Shell Programming and Scripting

Append text to end of every line

I've scoured the internet with mixed results. As an amateur I turn to the great minds here. I have a text file of 80 or so lines. I want to add ".pdf" to the end of each line. (For now that's it) Most of the internet points toward using "sed". I don't know coding but can figure things out... (4 Replies)
Discussion started by: spacebase
4 Replies

5. Shell Programming and Scripting

append text from file1 to the end of each line in file2

hi; my file2.txt:portname=1;list=10.11;l- portname=2;list=10.12;l- portname=3;list=10.13;l- ... my file1.txt:;"{'sector=%27'}"\&> so; i want to see:portname=1;list=10.11;l-;"{'sector=%27'}"\&> portname=2;list=10.12;l-;"{'sector=%27'}"\&> portname=3;list=10.13;l-;"{'sector=%27'}"\&>... (4 Replies)
Discussion started by: gc_sw
4 Replies

6. UNIX for Dummies Questions & Answers

Append characters to end of line

Coding in unix shell script. Hi All, Please help Thanks (6 Replies)
Discussion started by: sam12345
6 Replies

7. Shell Programming and Scripting

append some text message at the end of the file

Hi All, Please tell me how to append some text message at the end of the file. "File too large to view" example: xyz.log contains hhhhhhhhhhh hhhhhhjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjj "File too large to view" Please advice (3 Replies)
Discussion started by: rajeshorpu
3 Replies

8. Shell Programming and Scripting

how to append the pattern at the end of the line

-Hi I have multiple files which contain a line with the word "exec". I need to add the following pattern " -cmode -ccheap" on the same line where "exec" is at the end. Any idea? Thanks a lot in advance to everybody... -A (2 Replies)
Discussion started by: aoussenko
2 Replies

9. Shell Programming and Scripting

Append text at end of the first line in a file

Hi I need to append some text @ end of the first line in a file. like myfile.txt list = a,b,c list.a=some.. I give the arg "d" . now it append at end of first line list=a,b,c,d list.a=some... Please help me out this (7 Replies)
Discussion started by: catgovind
7 Replies

10. UNIX for Dummies Questions & Answers

using sed to append text to the end of each line

Anyone know how to use SED to append a comma to the end of each line example: field1,field2,field3,field4 If i Cat /textfile ---- How can i append the end of /textfile with a comman? (8 Replies)
Discussion started by: Redg
8 Replies
Login or Register to Ask a Question