![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !! |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| insert text in the middle of a file | relle | Shell Programming and Scripting | 3 | 03-13-2008 11:37 AM |
| How to insert the 1st arg into the middle of the file | boris | Shell Programming and Scripting | 4 | 04-12-2007 09:21 PM |
| How to insert text into first line of the file and middle of the file? | ali hussain | Shell Programming and Scripting | 3 | 03-05-2007 01:54 AM |
| insert text into the middle of a original file | mopimp | Shell Programming and Scripting | 1 | 03-26-2006 07:11 AM |
| how to insert and delete characters in the middle of file | ivancheung | High Level Programming | 7 | 10-11-2004 12:08 AM |
|
|
Submit Tools | LinkBack | Thread Tools | Display Modes |
|
|||
|
How to insert text in the middle of a file
Hey guys, how do we take a line of text as an argument from a user and then insert it in the middle of a file irrespective of the number of lines in the file. I am trying to do this without SED or AWK. Inserting it in the beginning and at the end is easy, but i am trying to accomplish inserting text in the middle?
|
| Forum Sponsor | ||
|
|
|
|||
|
How to insert text in the middle of a file w/o SED or AWK!!
tht dint wrk as i am trying to do this using a script..im pasting the script
#!bin/bash echo "Enter a line of text"; read text; echo "Enter the file path to append to"; read path; nfline=$(wc -l $path); middle=$($nfline/2); head -$middle $path > tmpfile; $text >> tmpfile; tail -$middle $path >> tmpfile; mv tmpfile $path; more $path; Last edited by kartikkumar84@g; 05-09-2008 at 06:06 PM. |
|
|||
|
Quote:
Code:
cnt=`wc -l < filename` |
|
|||
|
Here is another way of doing it using ed(1)
Code:
#!/bin/ksh93
TMP=file.$$
read TEXT?"Enter a line of text: "
read path?"Enter the file path to append to: "
MIDDLE=$(( $(/bin/wc -l < $path)/2 ))
# build editing command file
cat <<EOT >$TMP
${MIDDLE}
a
${TEXT}
.
w
q
EOT
cat $TMP
# go do the work
/bin/ed -s $path < $TMP
rm $TMP
cat $path
exit 0
|
|||
| Google The UNIX and Linux Forums |