すごいよksh
cshに切り替えてみたら、同じ挙動でした。っていうかAIX流儀なのか?不明。そもそも、文字列の中にシングルクォートを含める場合は、外側はダブルクォートでくくる"'aaa'"のが流儀らしい。ただ、cat aaa.txt | awk '{print ...}'みたいなことをやりたいときに、困ったりするのだが。
まあ、具体的なことを言えば、list.txtに
111 222
ていう風に書いてあったとして、
select * from table1 where col1 = '111'; select * from table1 where col1 = '222';
ていうのを出力させたい場合、
cat list.txt | awk '{print "select * from table1 where col1 = '\''" $1 "'\'';"}'
てやらなきゃならんのよってことですね。これが分かったとたん、僕の中でperlでやる仕事が大分awkに移動したような気がします。まあ、普通のUNIX使いなら当たり前のことなんでしょうけど。