How to rewrite a line in a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to rewrite a line in a file
# 15  
Old 05-17-2007
may i know how can I specify field seperator as comma? (or other sign like $, . and etc)?
# 16  
Old 05-17-2007
use FS for input field separator and OFS for out put field separator, to set what you want as your field separator

Hi jean-pier,

Can you please tell me why we need put 1 after this awk code ?
awk 'NR==2{print "200 300";next}1'

Last edited by jambesh; 05-18-2007 at 03:30 AM..
# 17  
Old 05-17-2007
awk ' { BEGIN { FS=","};if (NR == 2) { $2 = 777 ;$1 = 888 }; BEGIN { FS=" "};if (NR == 3) { $3 = 555 } print } ' filename

may i know whether the above syntax correctly defined the fiels seperator or not?
I want to define field seperator twice
# 18  
Old 05-17-2007
Quote:
Originally Posted by c0384
awk ' { BEGIN { FS=","};if (NR == 2) { $2 = 777 ;$1 = 888 }; BEGIN { FS=" "};if (NR == 3) { $3 = 555 } print } ' filename

may i know whether the above syntax correctly defined the fiels seperator or not?
I want to define field seperator twice
You dont need to define field seperator twice.
Code:
awk ' BEGIN { FS=","} { if (NR == 2) { $2 = 777 ;$1 = 888 }; if (NR == 3) { $3 = 555 } print } ' filename

or
Code:
awk -F"," ' { if (NR == 2) { $2 = 777 ;$1 = 888 }; if (NR == 3) { $3 = 555 } print } ' filename

# 19  
Old 05-17-2007
i field seperators that I want in line 2 and line 3 are different. In this case, I need to define field seperator twice, don`t I?
# 20  
Old 05-18-2007
Quote:
Originally Posted by c0384
i field seperators that I want in line 2 and line 3 are different. In this case, I need to define field seperator twice, don`t I?
Code:
awk ' BEGIN { FS=","} { if (NR == 2) { $2 = 777 ;$1 = 888 }; if (NR == 3) { FS=" "; $3 = 555 } print } ' filename

# 21  
Old 05-21-2007
after issuing
awk ' BEGIN { FS=","} { if (NR == 2) { $2 = 777 ;$1 = 888 } print } ' filename
command, I found that the line that I edited seperator become a blank. How can I set it back to comma?
For example,
123,456,789 becomes 888 777 789
[what I want is 888,777,789]

one more question, may I know whether filename > filename at the end of awk command is valid or not? I tried to do it but in the end I got a blank file for the original file.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Linux

Rewrite proxypass

Hi, I have a Apache 2.0 web server. When a users comes in to sitea.com a check is applied if the path ends with *t*, the user hits a rewrite rule that adds an environment variable called x is hit with a proxypass. This has worked successfully in the past, but recently I added another rewrite... (0 Replies)
Discussion started by: 3junior
0 Replies

2. UNIX for Advanced & Expert Users

Sendmail Rewrite Ruleset

Hi all, I like to write a rule which do the following: INPUT ADDRESS REWRITTEN TO ----------------------------- ----------------------------- foo.bar@sub.domain.com bar@domain.com foo@othersub.domain.com ... (1 Reply)
Discussion started by: bashily
1 Replies

3. Shell Programming and Scripting

Efficient rewrite of code?

egrep -v "#" ${SERVERS} | while read shosts do grep -Pi "|" ${LOGFILE} | egrep "${snhosts}" | egrep "NOTIFICATION:" | awk -F";" '{print $3}' | sort -n | uniq | while read CEXIST do ... (6 Replies)
Discussion started by: SkySmart
6 Replies

4. Web Development

Need help with rewrite rule

Hi, I hosted my site on Apache web server. I wanted to redirect all the users request to a HTML page(maintenance page). I used the below rewrite rule to do ths same. RewriteEngine on RewriteRule .* /maintenance.html The maintenance.html page contains an image. When ever I try to... (2 Replies)
Discussion started by: BSrikanthB
2 Replies

5. Shell Programming and Scripting

How to rewrite a existing value in a column inside a file?

I am having 4 field in a file name age date status i want to update or rewrite a value of status with another value how it can be done i used awk & sed but it shows result but not updating in original file help me out... Thanks (4 Replies)
Discussion started by: ragavendar
4 Replies

6. UNIX for Dummies Questions & Answers

rewrite date

I'm looking to have function that takes the present month and rewrites it into this form: _06_ (june), _09_ (september), and so on.. I would like this to be a my $this_month=code that rewrites date function because I would like to be a able to call it multiple times in the script by writing... (5 Replies)
Discussion started by: marringi
5 Replies

7. Shell Programming and Scripting

grep help, how do i rewrite this

Thanks , franklin you method worked, i knew i had to use a while loop and getline in there just didnt know the proper order :) Hi everyone, im trying to make the following command line shorter by introducing a script that join up all the grep commands ./new1a < numbers.txt | grep -i -v '^a '... (5 Replies)
Discussion started by: weezybaby
5 Replies

8. Shell Programming and Scripting

How do I rewrite to use a while instead of find?

for FILE in `find /home/Upload/*` Need to use a while instead to prevent errors when the file is emptied (4 Replies)
Discussion started by: goodmis
4 Replies

9. UNIX for Advanced & Expert Users

Apache Rewrite help!

I am trying to write RewriteRule on Apache_1.3.26 to get users web page from another server. for example if users tries to get web page on www.somedomain.com/~usersname it will get the web page from www.testdomain.com/~username without redirect and users will not be aware of any redirect... (1 Reply)
Discussion started by: hassan2
1 Replies
Login or Register to Ask a Question