Script to change file contents line by line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script to change file contents line by line
# 1  
Old 02-02-2009
Script to change file contents line by line

Hi,
I'm struggling to write a script to do the following,

-will go through each line in the file
-in a specific character positions, changes
the value to a new value
-These character positions are fixed througout the file
-----------------------
e.g.: file1.sh will have the following 3 lines,

line1 aaaa xxxx
line2 bbbb yyyy
line3 cccc zzzz

After executing the script, content of file1.sh should be,

line1 a1aa xx4x
line2 b1bb yy4y
line3 c1cc zz4z
-----------------------

Thanks a ton in advance
Vini
# 2  
Old 02-02-2009
Hope this helps:

Code:
sed '
h
s/^.\{8\}\(.\).*/\1/
y/abcdefghijklmnopqrstuvwxyz/11111111111111111111111111/
G
s/\(.*\)\n\(.\{8\}\).\(.*$\)/\2\1\3/
h
s/^.\{13\}\(.\).*/\1/
y/abcdefghijklmnopqrstuvwxyz/44444444444444444444444444/
G
s/\(.*\)\n\(.\{13\}\).\(.*$\)/\2\1\3/' foo

Sample:
Code:
$ sed '
> h
> s/^.\{8\}\(.\).*/\1/
> y/abcdefghijklmnopqrstuvwxyz/11111111111111111111111111/
> G
> s/\(.*\)\n\(.\{8\}\).\(.*$\)/\2\1\3/
> h
> s/^.\{13\}\(.\).*/\1/
> y/abcdefghijklmnopqrstuvwxyz/44444444444444444444444444/
> G
> s/\(.*\)\n\(.\{13\}\).\(.*$\)/\2\1\3/' foo
line1 aa1a xx4x
line2 bb1b yy4y
line3 cc1c zz4z

Also, you can save this to a file:
Code:
h
s/^.\{8\}\(.\).*/\1/
y/abcdefghijklmnopqrstuvwxyz/11111111111111111111111111/
G
s/\(.*\)\n\(.\{8\}\).\(.*$\)/\2\1\3/
h
s/^.\{13\}\(.\).*/\1/
y/abcdefghijklmnopqrstuvwxyz/44444444444444444444444444/
G
s/\(.*\)\n\(.\{13\}\).\(.*$\)/\2\1\3/

And the run it by:

Code:
sed -f foo.sed foo

# 3  
Old 02-03-2009
Hi Angheloko,

Thanks a lot for the response.
After digging through the net and "sed" man pages came up with the following,
--------------------
sed -e "1n; s/./1/2" -e "s/./4/8" file1.sh > file2.sh
mv file2.sh file1.sh
--------------------

This is giving me the required output & I'm doing some testing on the same.

Thanks Again
Regards
Vini
# 4  
Old 02-03-2009
Quote:
Originally Posted by vini99
Hi Angheloko,

Thanks a lot for the response.
After digging through the net and "sed" man pages came up with the following,
--------------------
sed -e "1n; s/./1/2" -e "s/./4/8" file1.sh > file2.sh
mv file2.sh file1.sh
--------------------

This is giving me the required output & I'm doing some testing on the same.

Thanks Again
Regards
Vini

Smilie Genius man! Good to know you got it. It ended up me leaning something new. I should thank you! Smilie
# 5  
Old 02-03-2009
Bug

“ Live as if you were to die tomorrow. Learn as if you were to live forever. ”
-Mahatma Gandhi

Cheers Mate
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script to read a file from particular line till required line and process

Hi All, Am trying to write wrapper shell/bash script on a utility tool for which i need to pass 2 files as arugment to execute utility tool. Wraper script am trying is to do with above metion 2 files. utility tool accepts : a. userinfo file : which contains username b. item file : which... (2 Replies)
Discussion started by: Optimus81
2 Replies

2. Shell Programming and Scripting

Need script to change a line in file....

Hello all, I have a line of code in a file that I need to change in the /etc/sysconfig/kdump file presently the line reads: KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off" what I need to do is put a comment out the 1st line and repeat it, and... (5 Replies)
Discussion started by: gartie
5 Replies

3. Shell Programming and Scripting

how to read the contents of two files line by line and compare the line by line?

Hi All, I'm trying to figure out which are the trusted-ips and which are not using a script file.. I have a file named 'ip-list.txt' which contains some ip addresses and another file named 'trusted-ip-list.txt' which also contains some ip addresses. I want to read a line from... (4 Replies)
Discussion started by: mjavalkar
4 Replies

4. Shell Programming and Scripting

Shell script to read a text file line by line & process it...

Hi , I am trying to write an shell, which reads a text file (from a location) having a list of numbers of strictly 5 digits only ex: 33144 Now my script will check : 1) that each entry is only 5 digits & numeric only, no alphabets, & its not empty. 2)then it executes a shell script called... (8 Replies)
Discussion started by: new_to_shell
8 Replies

5. Shell Programming and Scripting

change file contents using script

Hi, Requirement:- Need to change pfile,so while executing script,it has to go to pfile location(ORACLE_HOME/dbs) and open init<SID>.ora file and change value db_name=<>. If db_name=abcd,script will change the db_name=1234 likr that.. Please help to code this (1 Reply)
Discussion started by: Sanal
1 Replies

6. UNIX for Dummies Questions & Answers

How to read contents of a file from a given line number upto line number again specified by user

Hello Everyone. I am trying to display contains of a file from a specific line to a specific line(let say, from line number 3 to line number 5). For this I got the shell script as shown below: if ; then if ; then tail +$1 $3 | head -n $2 else ... (5 Replies)
Discussion started by: grc
5 Replies

7. Shell Programming and Scripting

Change a line in a php file thanks to a shell script

Hi, I'm working on a script to make automatic the new releases of my website... However in this script I put all the css script in a single one. There's no rpoblem for that. My problem is when I want to change the header of my layout page to put instead of : $header.="<link rel=\"stylesheet\"... (2 Replies)
Discussion started by: lahabana
2 Replies

8. Shell Programming and Scripting

shell script to read a line in gps receiver log file and append that line to new file

Hi, I have gps receiver log..its giving readings .like below Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. GPSD,R=1 $GPGSV,3,1,11,08,16,328,40,11,36,127,00,28,33,283,39,20,11,165,00*71... (3 Replies)
Discussion started by: gudivada213
3 Replies

9. Shell Programming and Scripting

Search a pattern in a file with contents in a single line

Hi all I am searching for a pattern in a file . The file content is in a single line.If am doing a grep or sed for the a particular pattern am getting whole file. I want the result in different lines. attaching the file for reference search pattern "/xxxxxx/hhhh/tttttttt/sss/" and... (4 Replies)
Discussion started by: sparks
4 Replies

10. Shell Programming and Scripting

how to echo the file contents LINE BY LINE

hello, i have a listing (let say ABC) consists of the below: : public database link public synonym role rollback segment : when i run the below for loop, for i in `more ABC` do echo "$i" done it gives me, : public database (4 Replies)
Discussion started by: newbie168
4 Replies
Login or Register to Ask a Question