Quote:
Thanks for reply, I tried what you said and I get error: invalid option --i Any idea what I might be doing wrong? I tried it on command line and in a file I made with cat then executed with 'sh' Thanks Mike |
Quote:
Code:
#!/bin/sh Cheers, Tink |
Quote:
Hey Tink, Thanks again. I am at work at the moment so I havent got a shell handy. I took a look into iserting with sed using options "i" and "a" and found "i" appends before the line and "a" after the line, this should mean I can use the same script with '1i\ in my first script as well as in this one. what does "#!/bin/sh" actually tell the shell at the start of the script? just so I know for future reference. Thanks Mike |
Quote:
Quote:
#!/path/to/executable in it the bash will try to use the executable in there to run the rest of the file as a script . Normally you'd have to invoke a script (if it didn't have the line) e.g. like sh my_script instead of just ./my_script Cheers, Tink |
Quote:
^^ Tell me about it.. I work in retail and I am not even supposed to use the Internet but only the companys Intranet, I want out of this job so bad, thats why I am here trying to learn UNIX, I want to become a Java programmer and need to learn UNIX and SQL before the training company will learn me Java. Mike |
Quote:
Quote:
learn is what you do, teach is what they do ;} Cheers, Tink |
Quote:
I tried the script and still get the invalid option --i. I thought it might have been the shell I was using which is part of the "putty" program which I use through my windows account, I then logged into my Mandriva Korn shell and got the same kind of trouble, in Mandriva I get this sed: -e expression #1 char 10: unknown command `m' my script was run from a file saved in cat as follow: #!/bin/sh sed '2i\ add me to the middle' myfile > myfile.tmp mv myfile.tmp myfile Thanks Mike |
Quote:
me cringe to see the natives butcher it like that ;} We have a shop call Mr Rentals here where you can hire all kinds of appliances (dish-washers, TV sets, ... ) ... they recently added PC hardware to their repertoire, and the new add says "Mr Rentals now rents computers!". I was so tempted to ask them how much a day they'd pay for my athlon. ;} Quote:
shouldn't run to completion. You need to either a) join these lines Code:
add me to the middle' Code:
add me to the middle' myfile > myfile.tmp Code:
add me to the middle' \ Cheers, Tink |
Hi again.
I tried the ways you mentioned but still dont get the desired results, I am on the part of the course which covers sed and grep etc and it say the following syntax should be used with sed: sed [-n][-e]'command' file(s) and command being as : [address]i\text //to insert which is basically what you showed me and what I have tried to do. I tried this on the command line which as far as I can see follows the above syntax: sed -e '2i\put me in the middle' myfile also this sed '2i\put me in the middle' myfile and this sed -e '2i\put me in the middle\'myfile and this sed -e '2i\put me in the middle' > myfile as well as using sh to execute my script after writing it in cat. One of the errors I am getting now is: sed -e expression #1, char 4: extra characters after command Anyone got any ideas what I am doing wrong? Thanks for looking Mike |
whooo hooo!!
I managed to figure this out, I found a guide on the IBM website and with what I have learned from this thread I came up with this script: echo '2i\ This is the line I have been trying to insert for ages' > tempfile sed -f tempfile myfile rm tempfile and bingo it works, thanks to all who helped and many thanks to Tinkster the human grammar and syntax compiler who is watching your every sentence - so beware! thanks mate, would have gave up long ago if it wasnt for your help:) Mike |
Well, I'm glad it works in the end, but I still don't understand
why it doesn't do the version I posted. It's perfectly sane, and works on three different distros (SLES9, Debian Sarge and Slack 10.2) I can get my paws on the moment, plus in solaris 10 and 8 :} What distro are you using again, with which version of sed? Cheers, Tink |
Quote:
Thanks again Mike http://www.chiark.greenend.org.uk/~sgtatham/putty/ |
Quote:
OK, now my last question :) I assume that you're copying & pasting from a winDOHs browser to the linux box via putty? In that case, the screwed-up error message may well stem from the DOS CR/LF combos :} In the ssh session try "dos2unix your_script" with the original content, and then run it again. I have that idea that the ^M DOS files will have on each end of a line may be confusing sed ;} Cheers, Tink |
Quote:
ta Mike |
All times are GMT -5. The time now is 12:35 PM. |