Visit Our UNIX and Linux User Community


add a string in the middle of the file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting add a string in the middle of the file
# 1  
Old 06-28-2007
add a string in the middle of the file

i want to add a string in a very top of a file without using VI or SED or AWK
this is what ive done:

(echo '0a'; echo 'LINE OF TEXT'; echo '.'; echo 'wq') | ed -s myfile

to add astrng right in the middle i could have count the lines of the file and just chenge the address.


EG. if file has 6 lines of text:

(echo '3a'; etc...etc...etc...)

Is there a method to do it where i do not need to know how many lines has a file, the script would add it straight in the middle?
# 2  
Old 06-28-2007
Code:
lines=`wc -l < myfile.txt`
half=`expr $lines / 2`
(echo "${half}a"; echo 'LINE OF TEXT'; echo '.'; echo 'wq') | ed -s myfile

# 3  
Old 06-28-2007
thnx a lot m8 u great!
look what im trying to do:

#!bin/bash
file=$1
read myVar
(echo '0a'; echo '$myVar'; echo '.'; echo 'wq') | ed -s $1

i want to create a script which always put a string at the very top.
but why when i run it instead of displaying a tex the output is $myVar

eg:

$myVar
mmmm....
Hi everybody!!!!
seems to me
# 4  
Old 06-28-2007
Quote:
Originally Posted by ciroredz
thnx a lot m8 u great!
look what im trying to do:

#!bin/bash
file=$1
read myVar
(echo '0a'; echo '$myVar'; echo '.'; echo 'wq') | ed -s $1

i want to create a script which always put a string at the very top.
but why when i run it instead of displaying a tex the output is $myVar

eg:

$myVar
mmmm....
Hi everybody!!!!
seems to me
Remove the quotes
Code:
(echo '0a'; echo $myVar; echo '.'; echo 'wq') | ed -s

$1
# 5  
Old 06-28-2007
Kool its true!!!!!!
and look at this now please...


file=$1
lines=$(wc -l < $1)
half=expr $lines / 2
(echo "${half}a"; echo '8888'; echo '.'; echo 'wq') | ed -s $1

why its not writing the string 888 in the middle of the file?
# 6  
Old 06-28-2007
Code:
file=$1
lines=$(wc -l < $1)
half=$(expr $lines / 2)
(echo "${half}a"; echo '8888'; echo '.'; echo 'wq') | ed -s $1

# 7  
Old 06-28-2007
thnx a lot it works perfectly!!!!!

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Views How to replace a CRLF char from a variable length file in the middle of a string in UNIX?

My sample file is variable length, with out any field delimiters. It has min of 18 chars length and the 'CRLF' is potentially between 12-14 chars. How do I replace this with a space? I still want to keep end of record, but just want to remove these new lines chars in the middle of the data. ... (7 Replies)
Discussion started by: chandrath
7 Replies

2. UNIX for Dummies Questions & Answers

Map a string in a the middle of a record

Hi Folks! I hope you can help me figure this out. I need to print a record which contains the contents of a config file. The contents of the config file should be found within the 21st and the 30th position of the fixed width reference file. Config File: aaaa bbbb cccc Reference... (3 Replies)
Discussion started by: kokoro
3 Replies

3. Linux

Remove newline in middle of string

my file input is with tab as delimiter, and in every line, there would be a skip of line with an unexcepted newline breaker. I'd like to remove this \n and put the information in the same line. INPUT a1 b1b2 c1 c2 d1 a2 b3 c3 d4 OUTPUT a1 b1b2 c1c2 ... (9 Replies)
Discussion started by: kinkichin
9 Replies

4. UNIX for Dummies Questions & Answers

Splitting a string and putting another string in the middle?

Hello all! I'm trying to put together a small script that will take in a file name and attach a datestamp to the end of it (but before the file type extension). To illustrate... Before: filename.txt anotherfilename.txt After: filename_20090724.txt anotherfilename_20090724.txt ... (7 Replies)
Discussion started by: jisoo411
7 Replies

5. UNIX for Dummies Questions & Answers

Add string to middle of a file

Hi, I want to write a script that takes a file and a string as params and adds the string to the middle line of the file. Also, I want to output the results back to the original file passed without using temp files. I am very much new to UNIX so this is all a little like black magic to me at... (15 Replies)
Discussion started by: Chiefos
15 Replies

6. Shell Programming and Scripting

stripping certain characters in at the middle of a string

I am trying to strip out certain characters from a string on both (left & right) sides. For example, line=see@hear|touch, i only want to echo the "hear" part. Well i have tried this approach: line=see@hear|touch templine=${line#*@} #removed "see@" echo ${templine%%\|*} #removed... (4 Replies)
Discussion started by: mcoblefias
4 Replies

7. Shell Programming and Scripting

Script to add a single line to middle of text file.

I've got a configuration file that is filled with xml text statements for example: <...../> <...../> <...../> <data id="java-options" value="-server -Djava.security.policy..../> <...../> <...../> <...../> I want to write a korn shell script that will go to this specific line and add a... (2 Replies)
Discussion started by: progkcp
2 Replies

8. Shell Programming and Scripting

add text in the middle of file

Can anyone help me pls? I want to add a text into the middle of file. I've writtenthe following script text to add="$1" file="$2" lines=$(wc -l $2) half_lines=$(expr $lines / 2) head -$half_lines $2 > temp echo "text to add" >> temp ((half_lines=$half_lines + 1)) tail -$half_lines $2... (6 Replies)
Discussion started by: relle
6 Replies

9. Shell Programming and Scripting

Problem to add the string(without sed & awk) into the middle of file

Hi, I have tried many times to add the string into the first line of the file or the middle of the file but could not find the solution. I first tried by $echo "paki" >> file This code only append paki string at the end of file "file" but how can i add this "paki" into the first line or... (5 Replies)
Discussion started by: ali hussain
5 Replies

10. Shell Programming and Scripting

Add Lines in middle of file

I need to add a new lines with certain data, to an existing file, every 5 lines in the file. There is no way to find any distinct charater pattern so I will have to do a line count and then insert the new line. I think using awk or sed is what I need to do. Any help is appreciated. Kunder (2 Replies)
Discussion started by: kunder
2 Replies

Featured Tech Videos