Editing text using AWK


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Editing text using AWK
# 1  
Old 01-11-2010
Editing text using AWK

Code:
France : 40 : John
Persia : 50 : John                           -----Database

What i am trying to achieve is to search for a book, and replave the title with the new title

Code:
echo -n "Title:"
read Title  
echo -n "Author:"
read Author
echo "new Title"
read NewTitle
awk 'BEGIN { FS=OFS=":" } $1 == '$Title' && $2 == '$Author'  { $1= '$NewTitle' } ' fruit

but i got the error code like this
Code:
awk: line 1: syntax error at or near end of line

what does this mean and how do i solve it?
# 2  
Old 01-11-2010
Code:
use nawk or gawk or /usr/xpg4/bin/awk

# 3  
Old 01-11-2010
Sorry, but what do u mean by using nawk or gawk? is there something wrong with the way i format my awk command?
# 4  
Old 01-11-2010
Hi.

You can't use single quotes in this way inside an action:

Code:
$1= '$NewTitle'

Instead, pass NewTitle to awk:

Code:
awk 'BEGIN { FS=OFS=":" } $1 == '$Title' && $2 == '$Author' { $1= NewTitle }
     1 ' NewTitle=$NewTitle fruit

And your awk doesn't actually print anything. It also doesn't update your file - you have to do that part yourself.

And like your other post, you have spaces in your input file, which will break your script.
# 5  
Old 01-11-2010
the version of the awk is allowing/not-allowing the syntax you wrote.
if the path of your awk is /bin/awk ...it is an old version where awk does not support your command syntax but gawk/nawk and /usr/xpg4/bin/awk are new versions of awk which support your syntax..

by the way what is the result of your command after using the new version of awk?
# 6  
Old 01-11-2010
okay , when i used the new code

Code:
awk 'BEGIN { FS=OFS=":" } $1 == '$Title' && $2 == '$Author'  { $1= NewTitle } ' NewTitle=$NewTitle fruit

when i run the program and key in the new title, nothing seems to happen after that.

Sorry ahmad , but how do i check which version of awk i am using and how do i change it?
# 7  
Old 01-11-2010
It has nothing to do with your version of awk, and a lot to do with spaces in your input file, and the fact that you're still not printing anything in your awk statement.

Code:
awk 'BEGIN { FS=OFS=":" } $1 == '$Title' && $2 == '$Author'  { $1= NewTitle } ' NewTitle=$NewTitle fruit

Code:
awk 'BEGIN { FS=OFS=":" } $1 == '$Title' && $2 == '$Author'  { $1= NewTitle; print } ' NewTitle=$NewTitle fruit

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Text editing/manipulation

Hello all. I need to rearrange a very long text file with the following format. The number of lines in each block is variable, but is between 1 and 10. Any hints what command could I use for this? Thank you. SAMPLE 2600 15 3453 159 3970 486 4327 760 4498 ... (3 Replies)
Discussion started by: yirgacheffe
3 Replies

2. UNIX for Dummies Questions & Answers

Editing long text file

Good morning all, I have a machine running IRIX and I need to edit a text file on the terminal that is literally thousands of lines. Does anyone know the most efficient way to edit portions of files like these? Obviously simply using the vi command isn't going to work since I get a too many lines... (1 Reply)
Discussion started by: James C
1 Replies

3. Shell Programming and Scripting

Convert vi editing to text editing

Dear Guru's I'm using Putty and want to edit a file. I know we generally use vi editor to do it. As I'm not good in using vi editor, I want to convert the vi into something like text pad. Is there any option in Putty to do the same ? Thanks for your response. Srini (6 Replies)
Discussion started by: thummi9090
6 Replies

4. Shell Programming and Scripting

Help needed editing text file using the terminal

Hi, I have text file with the header like this tracking_id condition replicate FPKM XLOC_000001 alpha 1 10.3199 XLOC_000001 alpha 0 10.3686 XLOC_000001 alpha 2 15.5619 ... With the first column being genes, the second being the condition, the third... (5 Replies)
Discussion started by: 4galaxy7
5 Replies

5. UNIX for Dummies Questions & Answers

awk text editing

Dear all, I'm starting to learn programming, and I'm having some problem with awk text editing. I'm having a huge text file, and my goal is to print "something" before every 4th row starting from the second row. File example: AAAAA BBBBBB CCCCC DDDDD AAAAAAA BBBBBBBB CCCCCCC... (2 Replies)
Discussion started by: Higgo
2 Replies

6. Shell Programming and Scripting

Comparison and editing of files using awk.(And also a possible bug in awk for loop?)

I have two files which I would like to compare and then manipulate in a way. File1: pictures.txt 1.1 1.3 dance.txt 1.2 1.4 treehouse.txt 1.3 1.5 File2: pictures.txt 1.5 ref2313 1.4 ref2345 1.3 ref5432 1.2 ref4244 dance.txt 1.6 ref2342 1.5 ref2352 1.4 ref0695 1.3 ref5738 1.2... (1 Reply)
Discussion started by: linuxkid
1 Replies

7. Shell Programming and Scripting

Text editing script does everything but edit text.

I wrote this script to create and edit a large number of websites based on a template site and a collection of text files which have the relevant strings in them delimited by colons. I run it and the shell doesn't produce any errors, but when it gets to the for loop where it actually has to edit... (2 Replies)
Discussion started by: afroCluster
2 Replies

8. Shell Programming and Scripting

text file editing

Hi, I need some help in text manipulation. I have an input file like this: 7629 "WPCW 19 - CW/AM1, WPCB 40 - FAMN/CORNER, WPCB-DT1 50 - FAMN/CORNER, " W35AW - Various Shopping Pgms W41CF - TBN W47CV - TBN WLLS-LP 49 - AM1 WATCH WPXI 11 N & WPIX 11 CW 1234 "WPCW 19 - CW/AM1,... (26 Replies)
Discussion started by: injeti
26 Replies

9. UNIX for Dummies Questions & Answers

Text editing on iPhone using ed

Hi all, I'm trying to edit a file using ed on an iphone. I am trying to edit a conf file and have managed to get to the directory where the default.conf file is located, however, when I type ed default.conf all i get is a number and then a blank line and a question mark which is why I am... (1 Reply)
Discussion started by: drewcifer
1 Replies

10. UNIX for Dummies Questions & Answers

Text Editing

Hello everybody, I have a sorted text file. some of the lines appear twice or even more. is there an unix utility that removes the extra appearences? Thanks, Ido. (7 Replies)
Discussion started by: ginodii
7 Replies
Login or Register to Ask a Question