AWK handling of single quote


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting AWK handling of single quote
# 1  
Old 04-27-2006
AWK handling of single quote

Hi,
Can someone let me know how I can acheive the following.

I have ~ delimited file and I need to convert into something like SQL insert statements.

SrcFile :
1~sjdsdj~asasas~
2~aaaaa~qwqwqwq~qwq
.....

I tried
Code:
AWK -F"~" '{print "INSERT INTO XX VALUES("$1 " ,\' "$2" \' , \' "$3 }' SrcFile

However AWK always treat '(single quote) as differently & i guess since single quote appear more than once. Any idea how i can make awk to treat single quote as text character or is this possible in SED?



'{print "INSERT INTO XX VALUES("$1 " ,\' "$2" \' , \' "$3 }'
|------------------------------------|xxxxxxx|--|xxxxxx|
# 2  
Old 04-27-2006
sqlldr will handle this for you - it looks like you're using Oracle.
Code:
OPTIONS (DIRECT=false)
LOAD DATA
INFILE 'myfile'
APPEND
INTO TABLE MYTABLE
FIELDS TERMINATED BY '~'
TRAILING NULLCOLS
(FLD1, FLD2, FLD3)

a ctl file like this one will do what you show.
# 3  
Old 04-27-2006
Hi Jim,
Sure, this will work, Infact my stop gap approach is this. However we are looking to acheive this in shell scripting, as we gonna apply this to disparate databases.

thx
# 4  
Old 04-27-2006
Code:
nawk -F"~" -v q="'" '{print "INSERT INTO XX VALUES("$1 " ," q "$2" q "," q $3 }' SrcFile

you'll have to figure out the ballancing of the double-quotes inside the 'print' - I think I got it right, but......
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Awk: single quote match in If

Hello, I'd like to print line if column 5th doesn't match with exm. But to reach there I have to make sure I match single quote. I'm struggling to match that. I've input file like: Warning: Variants 'exm480340' and '5:137534453:G:C' have the same position. Warning: Variants 'exm480345'... (9 Replies)
Discussion started by: genome
9 Replies

2. Shell Programming and Scripting

Replacing all but the first and last double quote in a line with a single quote with awk

From: 1,2,3,4,5,This is a test 6,7,8,9,0,"This, is a test" 1,9,2,8,3,"This is a ""test""" 4,7,3,1,8,"""" To: 1,2,3,4,5,This is a test 6,7,8,9,0,"This; is a test" 1,9,2,8,3,"This is a ''test''" 4,7,3,1,8,"''"Is there an easy syntax I'm overlooking? There will always be an odd number... (5 Replies)
Discussion started by: Michael Stora
5 Replies

3. Shell Programming and Scripting

How to use awk in inserting single quote

Hi Guys, Please someone help me to insert these numbers (enclosed with single quotes) to a statement using awk command. I'm having hard time of putting single quotes on these numbers. input file: 10214 68441 07205 80731 92234 55432 DESIRED OUTPUT: My ID Number='10214';... (1 Reply)
Discussion started by: pinpe
1 Replies

4. Shell Programming and Scripting

Replace single quote with two single quotes in perl

Hi I want to replace single quote with two single quotes in a perl string. If the string is <It's Simpson's book> It should become <It''s Simpson''s book> (3 Replies)
Discussion started by: DushyantG
3 Replies

5. Shell Programming and Scripting

How do you print a single quote character in AWK

How do you print out a single quote character in AWK? Using the escape character does not seem to work. {printf "%1$s %2$s%3$s%2$s\n" , "INCLUDE", " \' ", "THIS" } does not work. Any suggestions? (6 Replies)
Discussion started by: cold_Que
6 Replies

6. Shell Programming and Scripting

awk print: howto single quote not interpreted!?

cat a | awk -F";" '{print "update db set column=' "$2" ' where column1=\""$1"\";"}' > ip-add.sql Hi! I'm a new user! i need to use single quote in the double quotes print string The apex between che "$2" should not be interpreted, but....how?! I'm trying to use \ but don't work correctly! ... (4 Replies)
Discussion started by: Re DeL SiLeNziO
4 Replies

7. Shell Programming and Scripting

Awk problem: How to express the single quote(') by using awk print function

Actually I got a list of file end with *.txt I want to use the same command apply to all the *.txt Thus I try to find out the fastest way to write those same command in a script and then want to let them run automatics. For example: I got the file below: file1.txt file2.txt file3.txt... (4 Replies)
Discussion started by: patrick87
4 Replies

8. Shell Programming and Scripting

Regex in grep to match all lines ending with a double quote (") OR a single quote (')

Hi, I've been trying to write a regex to use in egrep (in a shell script) that'll fetch the names of all the files that match a particular pattern. I expect to match the following line in a file: Name = "abc" The regex I'm using to match the same is: egrep -l '(^) *= *" ** *"$' /PATH_TO_SEARCH... (6 Replies)
Discussion started by: NanJ
6 Replies

9. Shell Programming and Scripting

want to print single quote using awk

i want to print ' symbol using awk i tried: awk '{print " ' "}' awk '{print "\' "}' both not work please help me. (2 Replies)
Discussion started by: RahulJoshi
2 Replies

10. UNIX for Dummies Questions & Answers

how to print single quote in awk

Hi all, It is a very stupid problem but I am not able to find a solution to it. I am using awk to get a column from a file and I want to get the output field in between single quotes. For example, Input.txt 123 abc 321 ddff 433 dfg ........ I want output file to be as ... (6 Replies)
Discussion started by: gauravgoel
6 Replies
Login or Register to Ask a Question