Using gawk to clean up SQL


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using gawk to clean up SQL
# 1  
Old 01-06-2009
Using gawk to clean up SQL

Hi,

What would be the best awk commands to change this:
Code:
CREATE TABLE "allow_ip_services" (
  "host" varchar(20) default NULL,
  "user" varchar(30) NOT NULL,
  "services" varchar(100) default NULL,
  KEY "host" ("host"),
  KEY "user" ("user")
);

into this

Code:
CREATE TABLE "allow_ip_services" (
  "host" varchar(20) default NULL,
  "user" varchar(30) NOT NULL,
  "services" varchar(100) default NULL
);

If I do a simple gawk '!/KEY/' file I end up with:
Code:
CREATE TABLE "allow_ip_services" (
  "host" varchar(20) default NULL,
  "user" varchar(30) NOT NULL,
  "services" varchar(100) default NULL,
);

My SQLite doesn't like the trailing coma :=)
# 2  
Old 01-06-2009
Try this:

Code:
awk '/services/{sub(",","")} !/KEY/' file

Regards
# 3  
Old 01-06-2009
Thanks Franklin52. I should have been more specific.

I would like to delete all lines with KEY in it and delete the last comma from previous line whatever it is. In my example that previous line incidentally starts with "services" but I am looking for a more general solution.
# 4  
Old 01-06-2009
Ok, try this:

Code:
awk '/KEY/{next}
/);/{sub(",","",s);print s "\n" $0;exit}
{print s;s=$0}
' file

Regards
# 5  
Old 01-06-2009
It works. Thanks.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Clean up the space

Hi I just want to clean up the space in UNIX. Is there any special command that does this process or do I need to manually type the following rm <filename> Any help would be really appreciated. Thanks (2 Replies)
Discussion started by: bobby1015
2 Replies

2. Shell Programming and Scripting

How to clean this script?

Hello guys, this script partially works but it's still pretty ugly and, moreover, if the month is jan/feb/mar... it doesn't work at all. Could anyone say me how to correct, cut and clean a little bit? #!/usr/bin/ksh egrep -v -e "^\s*#" /file/permission | awk '{ print $1 }' | sort | uniq... (3 Replies)
Discussion started by: gogol_bordello
3 Replies

3. AIX

How to clean PV id?

When I run command: >chdev -l hdisk1 -a pv=clear It shows Method error (/etc/methods/chgdisk): 0514-062 Cannot perform the requested function because the specified device is busy. run: #>fuser -kxuc /dev/raw1 /dev/raw1: How to clean PV id? (4 Replies)
Discussion started by: rainbow_bean
4 Replies

4. UNIX for Dummies Questions & Answers

Help me clean this up

UNIX amature/novice. I've written a script (it works) that needs to be cleaned up. I'm searching for a way to perform a "go to , perform this then return" section of code. The books I have and searches i"ve done so far do not show me how to do this. I've pasted in the current code below. I've... (1 Reply)
Discussion started by: scanner248
1 Replies

5. Shell Programming and Scripting

clean /etc/hosts

hi all, i need to write a script. it should be able to clean the /etc/hosts file like this: first field is the ip (what else ;)) second field is the fqdn (full qualified domain name) third field is the hostname the fourth to n'th field is the rest. i hope you understand what is needed?... (5 Replies)
Discussion started by: DukeNuke2
5 Replies

6. UNIX for Advanced & Expert Users

Clean File

BeginDate 07/01/06 End: 07/31/06 Cust: A02991 - Burnham 0002000 5,829,773 145.3 0009701 4,043,850 267.3 2005000 286,785.13 100.0 BeginDate 07/01/06 End: 07/31/06 Cust: A01239 - East Track PSE Index A 0009902 317,356.82 890.2 0020021 ... (5 Replies)
Discussion started by: kris01752
5 Replies

7. Shell Programming and Scripting

clean up script

I have a script which would monitor a given directory and delete any files which are older than 10 days. I was going to set the 10 crob jobs to perform this operation for 10 different directories (some are actually sub-directories), but my boss doesn't like that idea, so I need to do that in one... (1 Reply)
Discussion started by: mpang_
1 Replies

8. UNIX for Advanced & Expert Users

Clean an LV out of the ODM

I recently had a disk crash and was not able to clean the dump lv off the disk. Now trying to create new lvdump I am running into errors. My question is how do I remove the old lv out of the ODM? I have tried going through smit and also just rmlv and it cannot find the lv. Yet when I run lslv on... (0 Replies)
Discussion started by: Wamland
0 Replies

9. AIX

Directory clean up

I want to write a script in ksh that will delete file that are more than 2 weeks old. (4 Replies)
Discussion started by: jango
4 Replies
Login or Register to Ask a Question