0
私はPerl v 5.18.2でbashシェルを使用しています。私は検索で検索と置換を行い、perlステートメントを置き換えるにはどうすればよいですか?
perl -pi -e "s/([^,]+),([^,]+),([^,]+),(.*[^\n]+)\n/select '\$1', u.id, u.first_Name, u.last_name, u.url FROM user u, user_role ur where u.id = ur.user_id and lower(ur.role_id) = '\$2' and lower(u.first_name) = lower('\$3') and lower(u.last_name) = lower('\$4');/g" /tmp/users.csv
しかし、私がやりたいことは「$ 3」と「$ 4」の前に何とかですが、引数はこのperlの文の置き換えセクションに配置されているこの文を実行しています、私は、任意の単一引用符をエスケープしたいことその中にSQL文が正しく実行されるように表示されます(これはMySQL 5.5.18で動作します)。 perlが$ 3と$ 4の引数を置き換えたときに、一重引用符をエスケープされたMySQLの一重引用符で置き換えるように、上記を調整するにはどうすればよいですか?
"SQL文が正しく実行されるように、単一の引用符をエスケープしたい"そのように狂気がある。 [DBI](https://metacpan.org/pod/DBI)と[プレースホルダ](https://metacpan.org/pod/DBI#Placeholders-and-Bind-Values)を使用します。 – ThisSuitIsBlackNot
これはどうやってできますか? – Dave